我們把httpd.conf文件進行了簡單的注釋,這里只是把其中注釋了的提出來,便于瀏覽
開始之前:
1、配置和寫文件名時注意:如果您給出文件名以"/"開頭,則服務器會用絕對目錄。
2、如果給出的文件名不以"/"開頭,如:"logs/foo.log",
而當前服務器跟目錄是"/usr/local/apache/",
那么服務器就會認為這個log文件在這里:"/usr/local/apache/logs/foo.log"
3、注意:在整個配置過程中所有的文件名中都要用斜線"/",而不用反斜線"/"。
如:用 "c:/apache" 而不用 "c:/apache" , 這里跟dos不一樣.
apache服務器的配置指令別分成三個相對集中的部分
1. 配置apache服務器在整個運行過程中的環境變量.
2. 配置主服務器或默認服務器運行時的詳細接口參數.
3. 設置虛擬服務器,使得在同一個apache服務器上可完成不同ip地址或不同主機名的web請求
(即:一臺物理上的服務器可被設置為有很多個ip地址或很多個主機名的虛擬服務器)
第一部分: 環境設定
# 設置服務器的的啟動方式:獨立啟動(standalone),還是借由互聯網絡伺服程序inetd來啟動。
# 缺省值是使用獨立啟動(standalone)。
servertype standalone
# 設置服務器目錄,用來存放服務器的配置文件、錯誤文件、記錄文件的目錄。
# 注意:在目錄的最后不能再加斜線"/" 。
serverroot "c:/apache"
# 服務程序啟動時,它把父程序 httpd 的程序碼(process id)存往這個
# log/httpd.pid 文件。這個文件名稱可以配合 pidfile 指令加以改變.
pidfile logs/httpd.pid
# 設置apache服務器執行程序的記錄文件。
scoreboardfile logs/apache_status
# 下面這兩項看個人的喜好,如果您覺得httpd.conf文件太長,不好找到需要的東西。
# 那么您可以將所需的設置放在srm.conf中(它只有幾行),然后在下面打開它:
# 下面的兩個設置,在標準配置中是打開的,我們可以不打開它.
# 去除下一行前面的"#" , 啟用srm.conf
#resourceconfig conf/srm.conf
#accessconfig conf/access.conf
# 服務器與客戶端的最大等待時間
# 如果客戶端在300秒還沒有連上,或者服務器300秒還沒有傳送數據到客戶端,就會自動斷線。timeout 300
# 設置是否支持續傳功能.缺省是支持
keepalive on
# 設置支持續傳功能的數目。數目越多則浪費的硬盤空間越多, 性能也越好。
# 設置為0則沒有限制。
maxkeepaliverequests 100
# 設置保持續傳的最大等待時間
# 如果連接上的某位使用者在15秒后還沒有向服務器發出要求,則他不能使用續傳功能。
keepalivetimeout 15
# 設置同時間內子進程數目,為了安全,設置為零.
maxrequestsperchild 0
# 設置服務器使用進程的數目。
# 這是以服務器的響應速度為準的, 數目太大則會變慢.
threadsperchild 50
# 允許使用另外的port或ip地址訪問服務器. 您可以打開它。
#listen 3000
#listen 12.34.56.78:80
# 設置apache監聽的ip地址,這也是您在本機上的虛擬服務器的ip地址.
bindaddress 127.0.0.1
# 打開當前未激活預定義的模塊,這里除非您真的需要,否則不要更改它
#loadmodule anon_auth_module modules/apachemoduleauthanon.dll
.
# 設置服務器產生的狀態信息。如果設置為"on",則產生詳細的信息.
#extendedstatus on
第二部分 詳細接口參數設定
# 設置服務器獨立使用時監聽的端口。
port 80
# 設置服務器管理者的e-mail地址.
serveradmin [email protected]
# 服務器的主機名。如果你有固定的ip地址,則不需要設置
servername localhost
# 設置存放站點html文件的目錄
documentroot "c:/apache/htdocs"
# 設置/目錄的指令。具體說明如下:
# option:定義在目錄內所能執行的操作。
# none表示只能瀏覽.
# followsymlinks允許頁面連接到別處,
# execcgi允許執行cgi,
# multiviews允許看動畫或是聽音樂之類的操作,
# indexes允許服務器返回目錄的格式化列表,
# includes允許使用ssi。
# 這些設置可以復選。all則可以做任何事,但不包括multiviews。
# allowoverride:
# 加none參數表示任何人都可以瀏覽該目錄下的文件,但不會讀取該文件。
# fileinfo 允許控制文件型態之指令的使用,
# authconfig 允許驗認指令的使用,
# indexes 允許控制目錄索引之指令的使用,
# limit 允許控制存取主機之指令的使用,
# options 允許控制特定目錄特色之指令的使用.
# 設為 all 的話服務器將會允許所有的指令.
<directory />
ptions followsymlinks
allowoverride none
</directory>
# 定義首先顯示的文件。
# 您可以這樣更改 directoryindex index.html index.htm
directoryindex index.html
# 定義每個目錄訪問控制文件的名稱
accessfilename .htaccess
# 定義代理服務器不要緩存你的頁面. 缺省不使用.
#cachenegotiateddocs
# 這個指令設定 mime 型態配置檔所在的位置,
# 文件名稱是相對于 serverroot 的, 不建議變更這個文件.
typesconfig conf/mime.types
# 服務器會將錯誤訊息記錄到一個記錄檔去,
# 文件名稱可以藉由 errorlog 指令設定.
# 可以為不同的虛擬主機設定不同的錯誤記錄
errorlog logs/error.log
# 設定記錄檔的格式
logformat "%h %l %u %t /"%r/" %>s %b" common
.
.
.
# alias 指令使文件可以存放在 documentroot 之外的本地文件系統里
# scriptalias 指令與 alias 指令相同, 只不過它還標記改目錄包含cgi或php指令文件
# addtype 指令以指定的內容型態作為該文件名稱結尾的文件的副文件名
alias /icons/ "c:/apache/icons/"
alias /test/ "c:/php/test/"
alias /admin/ "c:/admin/phpmyadmin/"
scriptalias /php/ "c:/php/"
addtype application/x-httpd-php .php
addtype application/x-httpd-php3 .php3
action application/x-httpd-php "/php/php.exe"
# addicon, addiconbyencoding and addiconbytype 都
# 是用來設定顯示不同文件型態所使用的圖示列表;對於每種列
# 出的文件型態,顯示列出的第一個符合的圖示。
addiconbytype (vid,/icons/movie.gif) video/*
addicon /icons/binary.gif .bin .exe
# 缺省的文件圖示
defaulticon /icons/unknown.gif
# 有問題或錯誤發生的狀況下,可以配置apache做四種反應
# 1. 輸出自定的(customized)訊息(文本)
#errordocument 500 "the server made a boo boo.
# 2. 重導到某個本地的 url 以處理該問題/錯誤
#errordocument 404 /missing.html
#errordocument 404 /cgi-bin/missing_handler.pl
# 3. 重導到某個外部的 url 以處理該問題/錯誤
#errordocument 402 http://some.other_server.com/subscription_info.html
新聞熱點
疑難解答