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