Apache服務器配置全攻略 |
發(fā)布時間: 2012/8/9 15:30:04 |
Apache服務器的設置文件位于/usr/local/apache/conf/目錄下,傳統(tǒng)上使用三個配置文件httpd.conf,access.conf和srm.conf,來配置Apache服務器的行為。
httpd.conf提供了最基本的服務器配置,是對守護程序httpd如何運行的技術描述;srm.conf是服務器的資源映射文件,告訴服務器各種文件的MIME類型,以及如何支持這些文件;access.conf用于配置服務器的訪問權限,控制不同用戶和計算機的訪問限制;這三個配置文件控制著服務器的各個方面的特性,因此為了正常運行服務器便需要設置好這三個文件。 除了這三個設置文件之外,Apache還使用mime.types文件用于標識不同文件對應的MIME類型, magic文件設置不同MIME類型文件的一些特殊標識,使得Apache 服務器從文檔后綴不能判斷出文件的MIME 類型時,能通過文件內(nèi)容中的這些特殊標記來判斷文檔的MIME類型。 bash-2.02$ ls -l /usr/local/apache/conf total 100 -rw-r--r-- 1 root wheel 348 Apr 16 16:01 access.conf -rw-r--r-- 1 root wheel 348 Feb 13 13:33 access.conf.default -rw-r--r-- 1 root wheel 30331 May 26 08:55 httpd.conf -rw-r--r-- 1 root wheel 29953 Feb 13 13:33 httpd.conf.default -rw-r--r-- 1 root wheel 12441 Apr 19 15:42 magic -rw-r--r-- 1 root wheel 12441 Feb 13 13:33 magic.default -rw-r--r-- 1 root wheel 7334 Feb 13 13:33 mime.types -rw-r--r-- 1 root wheel 383 May 13 17:01 srm.conf -rw-r--r-- 1 root wheel 357 Feb 13 13:33 srm.conf.default 事實上當前版本的Apache將原來httpd.conf、srm.conf與access.conf中的所有配置參數(shù)均放在了一個配置文件 httpd.conf中,只是為了與以前的版本兼容的原因(使用這三個設置文件的方式來源于NCSA-httpd),才使用三個配置文件。而提供的 access.conf和srm.conf文件中沒有具體的設置。 由于在新版本的Apache中,所有的設置都被放在了httpd.conf中,因此只需要調(diào)整這個文件中的設置。以下使用缺省提供的httpd.conf為例,解釋Apache服務器的各個設置選項。然而不必因為它提供設置的參數(shù)太多而煩惱,基本上這些參數(shù)都很明確,也可以不加改動運行Apache服務器。但如果需要調(diào)整Apache服務器的性能,以及增加對某種特性的支持,就需要了解這些設置參數(shù)的含義。 關于Apache服務器的性能,在Internet上存在很大的爭議,基本上使用Apache的使用者幾乎都不懷疑它的優(yōu)秀性能, Apache也支撐了很多著名的高負載的網(wǎng)站,但是在商業(yè)機構的評測中,Apache往往得分不高。很多人指出,在這些評測中,商業(yè)Web服務器及其操作系統(tǒng)往往由其專業(yè)公司的工程師進行過性能調(diào)整,而Free 的操作系統(tǒng)和Web服務器往往就使用其缺省配置或僅僅作很小的更改。需要指出的是,除了操作系統(tǒng)的性能調(diào)整之外,Apache 服務器本身的缺省配置絕不是最優(yōu)化和最高效的,而是要適應幾乎所有種類操作系統(tǒng)、所有種類硬件下的設置,多平臺的軟件不可能為特定平臺和特定硬件提供最優(yōu)化的缺省配置。因此要使用Apache的時候,性能調(diào)整是必不可少的。 HTTP守護進程的運行參數(shù) httpd.conf中首先定義了一些httpd守護進程運行時需要的參數(shù),來決定其運行方式和運行環(huán)境。 ServerType standalone ServerType定義服務器的啟動方式,缺省值為獨立方式standalone,httpd服務器將由其本身啟動,并駐留在主機中監(jiān)視連接請求。在Linux下將在啟動文件 /etc/rc.d/rc.local/init.d/apache中自動啟動Web服務器,這種方式是推薦設置。 啟動Apache服務器的另一種方式是inet方式,使用超級服務器inetd監(jiān)視連接請求并啟動服務器。當需要使用inetd啟動方式時,便需要更改為這個設置,并屏蔽/etc/rc.d/rc.local/init.d/apache文件,以及更改/etc/inetd.conf并重起 inetd,那么Apache就能從inetd中啟動了。 兩種方式的區(qū)別是獨立方式是由服務器自身管理自己的啟動進程,這樣在啟動時能立即啟動服務器的多個副本,每個副本都駐留在內(nèi)存中,一有連接請求不需要生成子進程就可以立即進行處理,對于客戶瀏覽器的請求反應更快,性能較 高。而 inetd方式要由inetd發(fā)現(xiàn)有連接請求后才去啟動http服務器,由于inetd 要監(jiān)聽太多的端口,因此反應較慢、效率較低,但節(jié)約了沒有連接請求時Web服務器占用的資源。因此inetd方式只用于偶爾被訪問并且不要求訪問速度的服務器上。事實上inetd方式不適合http的突發(fā)和多連接的特性,因為一個頁面可能包含多個圖象,而每個圖象都會引起一個連接請求,即使雖然訪問人數(shù)造成教少,但瞬間的連接請求并不少,這就受到 inetd性能的限制,甚至會影響由inetd啟動的其他服務器程序。 本文出自:億恩科技【mszdt.com】 |