FreeBSD連載(84):配置Apache伺服器(1)

2000年1月25日 13:29 王波

配置Apache伺服器(1)

  Apache伺服器的設置檔案位於/usr/local/etc/apache目錄下,傳統上使用三個配置文 件httpd.conf,access.conf和srm.conf,來配置Apache伺服器的行為。httpd. conf提供了最基本的伺服器配置,是對守護程序httpd如何運行的技術描述﹔srm.conf是伺服器的資源映射 檔案,告訴伺服器各種檔案的MIME類型,以及如何支持這些檔案﹔access.conf用於配置伺服器的訪問權限, 控制不同用戶和電腦的訪問限制﹔這三個配置檔案控制著伺服器的各個方面的特性,因此為了正常運行伺服器便需要設置好 這三個檔案。

  除了這三個設置檔案之外,Apache還使用mime.types檔案用於標識不同檔案對應的MIME類型, magic檔案設置不同MIME類型檔案的一些特殊標識,使得Apache伺服器從文檔後綴不能判斷出檔案的MIME 類型時,能通過檔案內容中的這些特殊標記來判斷文檔的MIME類型。

bash-2.02$ ls -l /usr/local/etc/apache
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中的所 有配置參數均放在了一個配置檔案httpd.conf中,只是為了與以前的版本兼容的原因(使用這三個設置檔案的方式 來源於NCSA-httpd),才使用三個配置檔案。而提供的access.conf和srm.conf檔案中沒有具 體的設置。

  新版本Apache使用的配置檔案為apache.conf,它就等價於httpd.conf。

  由於在新版本的Apache中,所有的設置都被放在了httpd.conf中,因此只需要調整這個檔案中的設 置。以下使用預設提供的httpd.conf為例,解釋Apache伺服器的各個設置選項。然而不必因為它提供設置的 參數太多而煩惱,基本上這些參數都很明確,也可以不加改動運行Apache伺服器。但如果需要調整Apache伺服器 的性能,以及增加對某種特性的支持,就需要了解這些設置參數的含義。

  關於Apache伺服器的性能,在Internet上存在很大的爭議,基本上使用過Apache的使用者幾乎 都不懷疑它的優秀性能,Apache也支撐了很多著名的高負載的網站,但是在商業機構的評測中,Apache往往得分 不高。很多人指出,在這些評測中,商業Web伺服器及其操作系統往往由其專業公司的工程師進行過性能調整,而Free 的操作系統和Web伺服器往往就使用其預設配置或僅僅作很小的更改。需要指出的是,除了操作系統的性能調整之外,Apache 伺服器本身的預設配置絕不是最優化和最高效的,而是要適應幾乎所有種類操作系統、所有種類硬體下的設置,多平 台的軟體不可能為特定平台和特定硬體提供最優化的預設配置。因此要使用Apache的時候,性能調整是必不可少的。

  在商業評測中忽略了的另一個事實是,評測時往往對不同種類的功能進行比較,例如使用Apache的標準CGI 的性能與ISAPI,NSAPI等伺服器端API比較,事實上Apache伺服器與此可以比較的功能為modperl ,FastCGI,與ASP類似的功能為PHP3等等,只不過由於Apache的開放模式,這些功能是由獨立的開發組 ,作為獨立的模塊來實現的。但是在評測中,測試人員沒有加入相應的模塊評測其性能。

  • HTTP守護進程的運行參數

  httpd.conf中首先定義了一些httpd守護進程運行時需要的參數,來決定其運行方式和運行環境。

  ServerType standalone

  ServerType定義伺服器的啟動方式,預設值為獨立方式standalone,http d伺服器將由其本身啟動,並駐留在主機中監視連接請求。在FreeBSD下將在啟動檔案/usr/local/etc /rc.d/apache.sh中自動啟動Web伺服器,這種方式是推荐設置。

  啟動Apache伺服器的另一種方式是inet方式,使用超級伺服器inetd監視連接請求並啟動伺服器。當 需要使用inetd啟動方式時,便需要更改