Apache 的 httpd.conf 詳解(很實用)瀏覽器
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就採用了這樣的方式,一次鏈接結束後,子進程並不退出,而是停留在系統中等待下一次服務請求,這樣就極大的提升了性能。
但因爲在處理過程當中子進程要不斷的申請和釋放內存,次數多了就會形成一些內存垃圾,就會影響系統的穩定性,而且影響系統資源的有效利用。所以在一個副本處理過必定次數的請求以後,就可讓這個子進程副本退出,再從原始的htt pd進程中從新複製一個乾淨的副本,這樣就能提升系統的穩定性。這樣,每一個子進程處理服務請求次數由MaxRe questPerChild定義。 缺省的設置值爲30,這個值對於具有高穩定性特色的FreeBSD系統來說是過於保守的設置,能夠設置爲1000甚至更高,設置爲0支持每一個副本進行無限次的服務處理。
爲了安全,設置爲零
#Listen 3000
#Listen 12.34.56.78:80
#BindAddress *
Listen參數能夠指定服務器除了監視標準的80端口以外,還監視其餘端口的HTTP請求。因爲FreeBSD系統能夠同時擁有多個IP地址,所以也能夠指定服務器只聽取對某個BindAddress< /B>的IP地址的HTTP請求。若是沒有配置這一項,則服務器會迴應對全部IP的請求。
即便使用了BindAddress參數,使得服務器只回應對一個IP地址的請求,可是經過使用擴展的Listen參數,仍然可讓HTTP守護進程迴應對其餘IP地址的請求。此時Listen參數的用法與上面的第二個例子相同。這種比較複雜的用法主要用於設置虛擬主機。此後能夠用VirtualHost參數定義對不一樣IP的虛擬主機,然而這種用法是較早的HTTP 1.0標準中設置虛擬主機的方法,每針對一個虛擬主機就須要一個IP地址,實際上用處並不大。在HTTP 1.1中,增長了對單IP地址多域名的虛擬主機的支持,使得虛擬主機的設置具有更大的意義。
#ExtendedStatus On
Apache服務器能夠經過特殊的HTTP請求,來報告自身的運行狀態,打開這個ExtendedStatus 參數可讓服務器報告更全面的運行狀態信息
安全
閱讀全文>>服務器