Apache 的 httpd.conf 中文詳解
2024-08-27 18:28:16
供稿:網(wǎng)友
ServerRoot “/usr/local“
ServerRoot用于指定守護(hù)進(jìn)程httpd的運(yùn)行目錄,httpd在啟動(dòng)之后將自動(dòng)將進(jìn)程的當(dāng)前目錄改變?yōu)檫@個(gè)目錄,因此如果設(shè)置文件中指定的文件或目錄是相對(duì)路徑,那么真實(shí)路徑就位于這個(gè)ServerR oot定義的路徑之下。
ScoreBoardFile /var/run/httpd.scoreboard
httpd使用ScoreBoardFile來(lái)維護(hù)進(jìn)程的內(nèi)部數(shù)據(jù),因此通常不需要改變這個(gè)參數(shù),除非管理員想在一臺(tái)計(jì)算機(jī)上運(yùn)行幾個(gè) Apache服務(wù)器,這時(shí)每個(gè)Apache服務(wù)器都需要獨(dú)立的設(shè)置文件htt pd.conf,并使用不同的ScoreBoardFile。
#ResourceConfig conf/srm.conf
#AccessConfig conf/access.conf
這兩個(gè)參數(shù)ResourceConfig和AccessConfig,就用于和使用srm.conf和access.conf設(shè)置文件的老版本 Apache兼容。如果沒(méi)有兼容的需要,可以將對(duì)應(yīng)的設(shè)置文件指定為/dev/null,這將表示不存在其他設(shè)置文件,而僅使用httpd.conf一個(gè)文件來(lái)保存所有的設(shè)置選項(xiàng)。
PidFile /var/run/httpd.pid
PidFile指定的文件將記錄httpd守護(hù)進(jìn)程的進(jìn)程號(hào),由于httpd能自動(dòng)復(fù)制其自身,因此系統(tǒng)中有多個(gè)httpd進(jìn)程,但只有一個(gè)進(jìn)程為最初啟動(dòng)的進(jìn)程,它為其他進(jìn)程的父進(jìn)程,對(duì)這個(gè)進(jìn)程發(fā)送信號(hào)將影響所有的httpd進(jìn)程。PidFILE定義的文件中就記錄httpd父進(jìn)程的進(jìn)程號(hào)。
Timeout 300
Timeout定義客戶(hù)程序和服務(wù)器連接的超時(shí)間隔,超過(guò)這個(gè)時(shí)間間隔(秒)后服務(wù)器將斷開(kāi)與客戶(hù)機(jī)的連接。
KeepAlive On
在HTTP 1.0中,一次連接只能作傳輸一次HTTP請(qǐng)求,而KeepAlive參數(shù)用于支持HTTP 1.1版本的一次連接、多次傳輸功能,這樣就可以在一次連接中傳遞多個(gè)HTTP請(qǐng)求。雖然只有較新的瀏覽器才支持這個(gè)功能,但還是打開(kāi)使用這個(gè)選項(xiàng)。
MaxKeepAliveRequests 100
MaxKeepAliveRequests為一次連接可以進(jìn)行的HTTP請(qǐng)求的最大請(qǐng)求次數(shù)。將其值設(shè)為0將支持在一次連接內(nèi)進(jìn)行無(wú)限次的傳輸請(qǐng)求。事實(shí)上沒(méi)有客戶(hù)程序在一次連接中請(qǐng)求太多的頁(yè)面,通常達(dá)不到這個(gè)上限就完成連接了。
KeepAliveTimeout 15
KeepAliveTimeout測(cè)試一次連接中的多次請(qǐng)求傳輸之間的時(shí)間,如果服務(wù)器已經(jīng)完成了一次請(qǐng)求,但一直沒(méi)有接收到客戶(hù)程序的下一次請(qǐng)求,在間隔超過(guò)了這個(gè)參數(shù)設(shè)置的值之后,服務(wù)器就斷開(kāi)連接。
ThreadsPerChild 50
設(shè)置服務(wù)器使用進(jìn)程的數(shù)目。
# 這是以服務(wù)器的響應(yīng)速度為準(zhǔn)的, 數(shù)目太大則會(huì)變慢
MaxRequestsPerChild 30
使用子進(jìn)程的方式提供服務(wù)的Web服務(wù),常用的方式是一個(gè)子進(jìn)程為一次連接服務(wù),這樣造成的問(wèn)題就是每次連接都需要生成、退出子進(jìn)程的系統(tǒng)操作,使得這些額外的處理過(guò)程占據(jù)了計(jì)算機(jī)的大量處理能力。因此最好的方式是一個(gè)子進(jìn)程可以為多次連接請(qǐng)求服務(wù),這樣就不需要這些生成、退出進(jìn)程的系統(tǒng)消耗,Apache就采用了這樣的方式,一次連接結(jié)束后,子進(jìn)程并不退出,而是停留在系統(tǒng)中等待下一次服務(wù)請(qǐng)求,這樣就極大的提高了性能。