欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Linux Apache Web 服務(wù)器(續(xù)一)

 更新時(shí)間:2008年03月15日 18:45:24   作者:  
四、配置Apache基礎(chǔ)篇,讓W(xué)WW服務(wù)器跑起來 Apache服務(wù)器軟件的配置文件主要有:“access.conf”:用于設(shè)置系統(tǒng)中的存取方式和環(huán)境;“httpd.conf”:用于設(shè)置服務(wù)器啟動(dòng)的基本環(huán)境;“srm.conf”:主要用于做文件資源上的設(shè)定;“mime.type”:記錄Apache服務(wù)器所能識(shí)別的MIME格式。
在具體講解之前,我們必須告訴大家,Apache已經(jīng)在安裝時(shí)就采用了一系列的缺省值,已經(jīng)讓W(xué)WW服務(wù)器跑起來了。你只需要將裝上Linux+Apache的主機(jī)聯(lián)入Internet,然后將主頁存放到“/home/httpd”目錄下即可。 

下面介紹一些最主要的配置選項(xiàng)的含義,以便大家用最小的精力、最小的配置準(zhǔn)備好服務(wù)器。 

4.1 httpd.conf 

httpd.conf是主配置文件。它告訴服務(wù)器將如何運(yùn)行。 

一、最重要的配置選項(xiàng)ServerType standalone | inetd 

這個(gè)配置選項(xiàng)指定如何運(yùn)行WEB服務(wù)器。Apache可以使用兩種方法來運(yùn) 

行服務(wù)器:standalone(獨(dú)立的)和inetd(由inetd運(yùn)行的)。 

standalone參數(shù)表示W(wǎng)EB服務(wù)進(jìn)程以一個(gè)單獨(dú)的守候進(jìn)程的方式在后臺(tái)偵聽是否有客戶端的請(qǐng)求,如果有就生成一個(gè)子進(jìn)程來為其服務(wù)。 

inetd參數(shù)表示W(wǎng)EB服務(wù)不是以一個(gè)單獨(dú)的守候進(jìn)程的形式支持。而是由Inetd這個(gè)超級(jí)服務(wù)器守候進(jìn)程進(jìn)行代勞,當(dāng)它收到一個(gè)客戶端的WEB服務(wù)請(qǐng)求的時(shí)候,再啟動(dòng)一個(gè)WEB服務(wù)進(jìn)程為其服務(wù)。 

從功能的角度看,這兩種方法幾乎是相同的。但它們之間實(shí)際有很大區(qū)別,區(qū)別在于服務(wù)器的性能。一個(gè)由inted運(yùn)行的服務(wù)器進(jìn)程在它結(jié)束對(duì)請(qǐng)求服務(wù)的同時(shí)立刻退出。而在standalone模式下,子WWW服務(wù)器進(jìn)程在退出之前要掛起一段時(shí)間,這就給它們提供了機(jī)會(huì),可以重新用來服務(wù)新的請(qǐng)求。 

在standalone模式下,不存在對(duì)每個(gè)請(qǐng)求啟動(dòng)新進(jìn)程的開銷,所以它的效率更高;而inetd模式被認(rèn)為比standalone模式更具安全性。 


standalone模式: 

此種模式下,WWW服務(wù)器偵聽特定端口的連接請(qǐng)求。當(dāng)客戶機(jī)發(fā)出到特 



定端口地址的連接請(qǐng)求時(shí),主服務(wù)器進(jìn)程啟動(dòng)子WWW服務(wù)進(jìn)程來服務(wù)該請(qǐng)求。如下圖所示: 

 

圖2 獨(dú)立服務(wù)器 


另外還需要告訴主服務(wù)器進(jìn)程偵聽的特定端口地址,使用命令: 

Port [number] (缺省值為80) 


inetd模式 



inetd是偵聽有小于1024的端口連接請(qǐng)求的Internet守護(hù)進(jìn)程(一個(gè)服務(wù)器進(jìn)程)。與前面的方法不同,當(dāng)客戶系統(tǒng)發(fā)出到WWW服務(wù)器的連接請(qǐng)求時(shí),inetd啟動(dòng)一個(gè)WWW服務(wù)器進(jìn)程,由此進(jìn)程服務(wù)此請(qǐng)求,完成服務(wù)后即退出。如下圖所示: 



圖3 由inetd啟動(dòng)的服務(wù)器 


如果選擇通過inetd服務(wù)器來運(yùn)行Apache,需要編輯/etc/inetd.conf文件為Apache添加一條新的記錄: 

httpd stream tcp nowait httpd /etc/httpd/bin/httpd –f /etc/httpd/conf/httpd.conf 

修改了/etc/inetd.conf文件后,就需要修改/etc/services中添加一行 

httpd 80/tcp httpd 

做完以上修改后,需要重新啟動(dòng)inetd進(jìn)程。首先,使用以下命令取得inetd的進(jìn)程ID: 

ps auxw |grep inetd 

然后執(zhí)行命令:kill –HUP 

在RedHat Linux中,默認(rèn)是采用inetd服務(wù)器來運(yùn)行Apache,所以只要你在安裝時(shí)選擇了httpd,以上工作在安裝時(shí)就已經(jīng)代你完成了。 

二、其它配置選項(xiàng) 


Server Admin命令,用來設(shè)置WEB管理員的E-Mail地址。這個(gè)地址會(huì)出現(xiàn)在系統(tǒng)連接出錯(cuò)的時(shí)候,以便訪問者能夠?qū)⑶闆r及時(shí)地告知WEB管理員。 


命令格式: Server Admin [you E-Mail address] 

例:Server Admin admin@xxx.com 






ErrorLog命令,用來指定錯(cuò)誤記錄文件名稱和路徑。 

命令格式: ErrorLog [log filename] 

例:ErrorLog /var/httpd/error.log 





Timeout命令,只要客戶端超過這里設(shè)定的秒數(shù)還沒有完成一個(gè)請(qǐng)求的話,服務(wù)端將終止這次請(qǐng)求服務(wù)。如果網(wǎng)絡(luò)速度較慢的話,建議在此設(shè)置較大的數(shù)值。以給客戶端更多機(jī)會(huì)。 

命令格式: Timeout [second] 

例:Timeout 120 





ServerRoot命令,它指定在何處保存服務(wù)器的配置、錯(cuò)誤及日志文件。 

命令格式: ServerRoot [fully qualified path name] 

例:ServerRoot /etc/httpd 





ServerName命令,它配置服務(wù)器的Internet主機(jī)名 

命令格式: ServerName [host name] 

例:ServerName www.xxx.com 




4.2 srm.conf 

srm.conf是資源配置文件,用它來告訴服務(wù)器你想在WWW站點(diǎn)上提供什么資源以及在哪里和如何提供它們。 


DocumentRoot命令,用來指定主文檔的地址。 

命令格式: DocumentRoot [Path] 

例:DocumentRoot /home/httpd/html 





UserDir命令,用來指定個(gè)人主頁的位置。如果你有一個(gè)用戶test,那么它主目錄是“/home/test”,當(dāng)客戶端輸入“http://yourdomain/~test”,系統(tǒng)就會(huì)到對(duì)應(yīng)的目錄“/home/test/UserDir/”中去尋找。其中“UserDir”就是在UserDir命令中設(shè)置的指定目錄。 

命令格式: UserDir [Path] 

例: UserDir Public_html 





DirectoryIndex命令,用來聲明首頁文件名稱。一般地,我們使用“index.html”或“index.htm”作為首頁的文件名。如果這樣設(shè)置后,那么客戶端發(fā)出WEB服務(wù)請(qǐng)求時(shí),將首先調(diào)入的主頁是在指定目錄下文件“index.html”或“index.htm”。 

命令格式: DirecotryIndex [filename] 

例:DirecotryIndex index.html index.htm 





ScriptAlias命令,為腳本程序目錄起個(gè)別名,具體可見4.7小節(jié)。 

命令格式: ScriptAlias [/alias/] [fullly qualified path for script directory] 

例: ScriptAlias /cgi-bin/ /home/httpd/cgi-bin 




4.3 access.conf的配置 

access.conf文件用來設(shè)置WWW站點(diǎn)上諸如文件、目錄和腳本項(xiàng)目的訪問權(quán)限。該文件的第一段非注釋部分如下: 



Option Indexes Includes ExecCGI FollowSymLink 

AllowOverride None 

Order allow , deny 

allow from all 




大家應(yīng)該注意到,這一個(gè)部分是以開始,以結(jié)束的。這表示在其中間的部分都是針對(duì)指定目錄��“/home/httpd/html”而言的。 

1.Option命令有很多的參數(shù),各個(gè)參數(shù)的意義如下所示: 

All 準(zhǔn)許以下所有功能(MultiViews除外); 

MultiViews 準(zhǔn)許內(nèi)容協(xié)商的Multiviews; 

Indexes 若該目錄下無index文件,則準(zhǔn)許顯示 

該目錄下的文件以供選擇; 

IncludesNOEXEC 準(zhǔn)許SSI(Server-side Includes),但不可 

使用#exec和#include功能; 

Includes 準(zhǔn)許SSI; 

FollowSymLinks 準(zhǔn)許符號(hào)鏈接到其他目錄; 

ExecCGI 準(zhǔn)許該目錄下可以使用CGI。 




2.而AllowOverride命令則是用來決定是否準(zhǔn)許在“access.conf”文件中設(shè)定的權(quán)限是否可以被在文件“.htaccess”中設(shè)定的權(quán)限覆蓋。它有兩個(gè)參數(shù): 

All 準(zhǔn)許覆蓋; 

None 不準(zhǔn)許覆蓋。 




3.Order命令:用來設(shè)定誰能從這個(gè)服務(wù)器取得控制。它也有兩個(gè)參數(shù): 

allow 可以取得控制; 

deny 禁止取得控制。 




現(xiàn)在我們一起來看看關(guān)于目錄“/home/httpd/html”的設(shè)置的含義:它使得這個(gè)目錄,如果不存在index.htm文件時(shí),列出目錄信息以供選擇,準(zhǔn)許SSI,允許執(zhí)行CGI程序,開啟了動(dòng)態(tài)連接。它不允許再使用在文件“.htaccess”中設(shè)定來覆蓋這里所設(shè)置的權(quán)限。使所有的人都可以取得控制。 

該文件的第二段非注釋部分如下: 



Option ExecCGI 

AllowOverride None 






這個(gè)表示目錄“/home/httpd/cgi”的設(shè)置為,當(dāng)前目錄下可以執(zhí)行CGI程序。不允許再使用在文件“.htaccess”中設(shè)定來覆蓋這里所設(shè)置的權(quán)限。 

需要說明的是,不同的LINUX系統(tǒng)中,可以在這個(gè)文件中看到的信息不完全相同,但是根據(jù)這里給出的信息,大家可以參照命令的解釋自行理解文件中的設(shè)置,以及根據(jù)自己的需要進(jìn)行相應(yīng)的修改。 

4.4 使新的配置生效 

在上面,我們可能已經(jīng)根據(jù)新的需求更改了相應(yīng)的配置選項(xiàng),如果我們要 

使得這個(gè)新的配置立即生效。我們就必須重新啟動(dòng)WEB服務(wù)進(jìn)程。在LINUX中,我們可以十分方便地使用命令行來使得WEB服務(wù)進(jìn)程重啟。 

/etc/rc.d/init.d/httpd restart 

相關(guān)文章

最新評(píng)論