基礎(chǔ)知識 1.守護(hù)進(jìn)程 httpd,默認(rèn)監(jiān)聽端口80號 service httpd start|restart|stop|status 2.配置文件 主配置文件在“/etc/httpd/conf/httpd.conf”,由它來控制Apache服務(wù)器的各種功能。 該文件由全局環(huán)境設(shè)置(Global Environment)、主要的服務(wù)設(shè)置(Main Server Configuration)、虛擬主機設(shè)置(Virtual Hosts)。 (1)全局環(huán)境設(shè)置 ServerType inetd|standalone 默認(rèn)是用standalone,速度快、效率高、節(jié)省了啟動進(jìn)程的時間。 StartServers 指定Apache服務(wù)啟動時運行的子進(jìn)程數(shù)(注意:只有當(dāng)ServerType設(shè)置為standalone時有效),默認(rèn)是八個。 ServerRoot 指定Apache服務(wù)器相關(guān)文件,保羅配置文件、應(yīng)用程序、日志文件等,的存放路徑,指定的路徑應(yīng)該由根目錄寫起,默認(rèn)值是“/etc/httpd/conf”。 MaxClients 指定Apache服務(wù)器可同時響應(yīng)的來自客戶的最大連接請求數(shù),默認(rèn)是150個。 (2)主要服務(wù)設(shè)置 Port 指定Apache的守護(hù)進(jìn)程監(jiān)聽的端口號,默認(rèn)端口是80. ServerAdmin 指定Web服務(wù)器管理員的E-mail地址,該E-mail地址出現(xiàn)在由Apache服務(wù)器自動生成的錯誤信息中。 ServerName 設(shè)置Apache服務(wù)器名,即客戶端訪問該Web服務(wù)器時使用的域名,也可以設(shè)置成IP地址。如果不設(shè)置該值,默認(rèn)為主機名。 DocumentRoot 指定Web服務(wù)器上網(wǎng)頁文件存放的位置,web服務(wù)器在響應(yīng)客戶端的連接請求時讀取該目錄下的文件,默認(rèn)為“/var/www/html”。 DirectoryIndex 指定客戶端訪問Web服務(wù)器上某個目錄下默認(rèn)顯示的文件,可以設(shè)置多個文件,Apache服務(wù)器顯示第一個存在的文件,例如有以下設(shè)置: DirectoryIndex index.htm index.html /home/usr/index.html 服務(wù)器按以上順序查找文件,如果沒找到,返回客戶端“HTTP 404 未找到”錯誤信息。 ErrorLog 指定Web服務(wù)器上產(chǎn)生的錯誤日志文件,默認(rèn)是/var/log/http error_log文件。 (3)虛擬主機配置 虛擬主機是指在一臺web服務(wù)器上同時存在多個web站點,他們可以有不同的IP地址或域名,Apache服務(wù)器支持的虛擬主機類型包括: (A)基于不同域名的虛擬主機,即服務(wù)器有一個IP地址,但是它對應(yīng)有多個不同的CNAME記錄,每個CNAME記錄對應(yīng)一個web站點。 (B)基于不同IP地址的虛擬主機,即服務(wù)器有多個IP地址,每個IP地址對應(yīng)一個web站點。 基于域名和基于IP地址的虛擬機的配置是相同的,唯一不同的是對于基于域名的虛擬主機,NameVirtualHost語句指定該虛擬域名來自哪個IP地址,而基于不同IP地址的虛擬主機,在NameVirtualHost語句指定本web站點的IP地址。 虛擬主機由2條主要的配置語句,即“NameVirtualHost”和“VirtualHost”語句,其意義如下: (A)NameVirtualHost語句以IP地址或域名的方式,指定哪一臺服務(wù)器用于響應(yīng)客戶端對虛擬主機的連接請求,推薦使用IP地址方式。虛擬主機的域名在DNS設(shè)置中都指向這個IP地址。 (B)<VirtualHost>和</VirtualHost>語句是虛擬主機設(shè)置語句的開始和結(jié)束的標(biāo)志。VirtualHost語句后跟的IP地址和NameVirtualHost語句相同。 Apache配置實例: 要求: (1)設(shè)置監(jiān)聽端口為80。 (2)設(shè)置域名為www.21php.com,網(wǎng)絡(luò)管理員的e-mail地址為root@21php.com,網(wǎng)頁存放位置/var/www/html,其他設(shè)置默認(rèn)。 (3)設(shè)置一個虛擬域名上圖student.21php.com,網(wǎng)頁存放位置為/var/www/student/html,網(wǎng)絡(luò)管理員的e-mail地址為student@21php.com。 配置: (1)添加DNS記錄。 再/var/named/21php.com中添加以下內(nèi)容: student IN CNAME www.21php.com. teacher IN CNAME www.21php.com. 保存退出后:service named restart。 (2)打開/etc/httpd/conf/httpd.conf修改一下字段: ServerAdmin root@21php.com ServerName www.21php.com 監(jiān)聽端口默認(rèn)為80 Listen 80 DocumentRoot /var/www/html (3)建立虛擬主機,在虛擬主機設(shè)置的節(jié)點添加以下內(nèi)容(/etc/httpd/conf/httpd.conf) NameVirtualHost 192.168.1.150:80 <VirtualHost 192.168.1.150:80> ServerAdmin root@21php.com ServerName www.21php.com DocumentRoot /var/www/html </VirtualHost> NameVirtualHost 192.168.1.150:80 <VirtualHost 192.168.1.150:80> ServerAdmin student@21php.com ServerName student.21php.com DocumentRoot /var/www/student/html </VirtualHost> 注意:雖然www.21php.com不是虛擬服務(wù)器,但是必須添加這部分虛擬主機才能被訪問。 ################################################# NameVirtualHost *:80 <VirtualHost *:80> ServerAdmin …… DocumentRoot …… ServerName …… ErrorLog …… CustomLog …… </VirtualHost> |
|