ServerRoot “/usr/local“ ServerRoot用于指定守護進程httpd的運行目錄,httpd在啟動之后將自動將進程的當(dāng)前目錄改變?yōu)檫@個目錄,因此如果設(shè)置文件中指定的文件或目錄是相對路徑,那么真實路徑就位于這個ServerR oot定義的路徑之下。 ScoreBoardFile /var/run/httpd.scoreboard httpd使用ScoreBoardFile來維護進程的內(nèi)部數(shù)據(jù),因此通常不需要改變這個參數(shù),除非管理員想在一臺計算機上運行幾個 Apache服務(wù)器,這時每個Apache服務(wù)器都需要獨立的設(shè)置文件htt pd.conf,并使用不同的ScoreBoardFile。 #ResourceConfig conf/srm.conf #AccessConfig conf/access.conf 這兩個參數(shù)ResourceConfig和AccessConfig,就用于和使用srm.conf和access.conf設(shè)置文件的老版本 Apache兼容。如果沒有兼容的需要,可以將對應(yīng)的設(shè)置文件指定為/dev/null,這將表示不存在其他設(shè)置文件,而僅使用httpd.conf一個文件來保存所有的設(shè)置選項。 PidFile /var/run/httpd.pid PidFile指定的文件將記錄httpd守護進程的進程號,由于httpd能自動復(fù)制其自身,因此系統(tǒng)中有多個httpd進程,但只有一個進程為最初啟動的進程,它為其他進程的父進程,對這個進程發(fā)送信號將影響所有的httpd進程。PidFILE定義的文件中就記錄httpd父進程的進程號。 Timeout 300 Timeout定義客戶程序和服務(wù)器連接的超時間隔,超過這個時間間隔(秒)后服務(wù)器將斷開與客戶機的連接。 KeepAlive On 在HTTP 1.0中,一次連接只能作傳輸一次HTTP請求,而KeepAlive參數(shù)用于支持HTTP 1.1版本的一次連接、多次傳輸功能,這樣就可以在一次連接中傳遞多個HTTP請求。雖然只有較新的瀏覽器才支持這個功能,但還是打開使用這個選項。 MaxKeepAliveRequests 100 MaxKeepAliveRequests為一次連接可以進行的HTTP請求的最大請求次數(shù)。將其值設(shè)為0將支持在一次連接內(nèi)進行無限次的傳輸請求。事實上沒有客戶程序在一次連接中請求太多的頁面,通常達不到這個上限就完成連接了。 KeepAliveTimeout 15 KeepAliveTimeout測試一次連接中的多次請求傳輸之間的時間,如果服務(wù)器已經(jīng)完成了一次請求,但一直沒有接收到客戶程序的下一次請求,在間隔超過了這個參數(shù)設(shè)置的值之后,服務(wù)器就斷開連接。 ThreadsPerChild 50 設(shè)置服務(wù)器使用進程的數(shù)目。 # 這是以服務(wù)器的響應(yīng)速度為準(zhǔn)的, 數(shù)目太大則會變慢 MaxRequestsPerChild 30 使用子進程的方式提供服務(wù)的Web服務(wù),常用的方式是一個子進程為一次連接服務(wù),這樣造成的問題就是每次連接都需要生成、退出子進程的系統(tǒng)操作,使得這些額外的處理過程占據(jù)了計算機的大量處理能力。因此最好的方式是一個子進程可以為多次連接請求服務(wù),這樣就不需要這些生成、退出進程的系統(tǒng)消耗,Apache就采用了這樣的方式,一次連接結(jié)束后,子進程并不退出,而是停留在系統(tǒng)中等待下一次服務(wù)請求,這樣就極大的提高了性能。 但由于在處理過程中子進程要不斷的申請和釋放內(nèi)存,次數(shù)多了就會造成一些內(nèi)存垃圾,就會影響系統(tǒng)的穩(wěn)定性,并且影響系統(tǒng)資源的有效利用。因此在一個副本處理過一定次數(shù)的請求之后,就可以讓這個子進程副本退出,再從原始的htt pd進程中重新復(fù)制一個干凈的副本,這樣就能提高系統(tǒng)的穩(wěn)定性。這樣,每個子進程處理服務(wù)請求次數(shù)由MaxRe questPerChild定義。缺省的設(shè)置值為30,這個值對于具備高穩(wěn)定性特點的FreeBSD系統(tǒng)來講是過于保守的設(shè)置,可以設(shè)置為1000甚至更高,設(shè)置為0支持每個副本進行無限次的服務(wù)處理。 為了安全,設(shè)置為零 #Listen 3000 #Listen 12.34.56.78:80 #BindAddress * Listen參數(shù)可以指定服務(wù)器除了監(jiān)視標(biāo)準(zhǔn)的80端口之外,還監(jiān)視其他端口的HTTP請求。由于FreeBSD系統(tǒng)可以同時擁有多個IP地址,因此也可以指定服務(wù)器只聽取對某個BindAddress< /B>的IP地址的HTTP請求。如果沒有配置這一項,則服務(wù)器會回應(yīng)對所有IP的請求。 即使使用了BindAddress參數(shù),使得服務(wù)器只回應(yīng)對一個IP地址的請求,但是通過使用擴展的Listen參數(shù),仍然可以讓HTTP守護進程回應(yīng)對其他IP地址的請求。此時Listen參數(shù)的用法與上面的第二個例子相同。這種比較復(fù)雜的用法主要用于設(shè)置虛擬主機。此后可以用 VirtualHost參數(shù)定義對不同IP的虛擬主機,然而這種用法是較早的HTTP 1.0標(biāo)準(zhǔn)中設(shè)置虛擬主機的方法,每針對一個虛擬主機就需要一個IP地址,實際上用處并不大。在HTTP 1.1中,增加了對單IP地址多域名的虛擬主機的支持,使得虛擬主機的設(shè)置具備更大的意義。