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