Apache2 httpd.conf 配置詳解

摘自:http://jafy00.blog.51cto.com/2594646/501373


常用配置指令說明


1. ServerRoot:服務器的基礎目錄,一般來說它將包含conf/和logs/子目錄,其它配置文件的相對路徑即基於此目錄。默認爲安裝目錄,不需更改。

語法:ServerRoot directory-path

如: ServerRoot "/usr/local/apache-2.2.6"

注意,此指令中的路徑最後不要加 / 。


2. Listen:指定服務器監聽的IP和端口。默認情況下Apache會在所有IP地址上監聽。Listen是Apache2.0以後版本必須設置的指令,如果在配置文件中找不到這個指令,服務器將

無法啓動。

語法:Listen [IP-address:]portnumber [protocol]

Listen指令指定服務器在那個端口或地址和端口的組合上監聽接入請求。如果只指定一個端口,服務器將在所有地址上監聽該端口。如果指定了地址和端口的組合,服務器將在指

定地址的指定端口上監聽。可選的protocol參數在大多數情況下並不需要,若未指定該參數,則將爲443端口使用默認的https 協議,爲其它端口使用http協議。

使用多個Listen指令可以指定多個不同的監聽端口和/或地址端口組合。

默認爲:Listen 80

如果讓服務器接受80和8080端口上請求,可以這樣設置:

Listen 80

Listen 8080

如果讓服務器在兩個確定的地址端口組合上接受請求,可以這樣設置:

Listen 192.168.2.1:80

Listen 192.168.2.2:8080

如果使用IPV6地址,必須用方括號把IPV6地址括起來:

Listen [2001:db8::a00:20ff:fea7:ccea]:80


3. LoadModule:加載特定的DSO模塊。Apache默認將已編譯的DSO模塊存放於4.1目錄結構小節中所示的動態加載模塊目錄中。

語法:LoadModule module filename

如:LoadModule rewrite_module modules/mod_rewrite.so

如果filename使用相對路徑,則路徑是相對於ServerRoot所指示的相對路徑。

Apache配置文件默認加載所有已編譯的DSO模塊,筆者建議只加載如下模塊:authn_file、authn_default、 authz_host、authz_user、authz_default、auth_basic、dir、alias

、filter、speling、 log_config、env、vhost_alias、setenvif、mime、negotiation、rewrite、deflate、 expires、headers、cache、file-cache、disk-cache、mem-cache


4. User:設置實際提供服務的子進程的用戶。爲了使用這個指令,服務器必須以root身份啓動和初始化。如果你以非root身份啓動服務器,子進程將不能夠切換至非特權用戶,並

繼續以啓動服務器的原始用戶身份運行。如果確實以root用戶啓動了服務器,那麼父進程將仍然以root身份運行。

用於運行子進程的用戶必須是一個沒有特權的用戶,這樣才能保證子進程無權訪問那些不想爲外界所知的文件,同樣的,該用戶亦需沒有執行那些不應當被外界執行的程序的權限

。強烈建議專門爲Apache子進程建立一個單獨的用戶和組。一些管理員使用nobody用戶,但是這並不能總是符合要求,因爲可能有其他程序也在使用這個用戶。

例:User daemon


5. Group:設置提供服務的Apache子進程運行時的用戶組。爲了使用這個指令,Apache必須以root初始化啓動,否則在切換用戶組時會失敗,並繼續以初始化啓動時的用戶組運行。

例:Group daemon


6. ServerAdmin:設置在所有返回給客戶端的錯誤信息中包含的管理員郵件地址。

語法:ServerAdmin email-address|URL

如果httpd不能將提供的參數識別爲URL,它就會假定它是一個email-address ,並在超連接中用在mailto:後面。推薦使用一個Email地址,因爲許多CGI腳本是這樣認爲的。如果你

確實想使用URL,一定要保證指向一個你能夠控制的服務器,否則用戶將無法確保一定可以和你取得聯繫。


7. ServerName:設置服務器用於辨識自己的主機名和端口號。

語法:ServerName [scheme://]fully-qualified-domain-name[:port]

可選的'scheme://'前綴僅在2.2.3以後的版本中可用,用於在代理之後或離線設備上也能正確的檢測規範化的服務器URL。

當沒有指定ServerName時,服務器會嘗試對IP地址進行反向查詢來推斷主機名。如果在ServerName中沒有指定端口號,服務器會使用接受請求的那個端口。

爲了加強可靠性和可預測性,建議使用ServerName顯式的指定一個主機名和端口號。

如果使用的是基於域名的虛擬主機,在<VirtualHost>段中的ServerName將是爲了匹配這個虛擬主機,在"Host:"請求頭中必須出現的主機名。


8. DocumentRoot:設置Web文檔根目錄。

語法:DocumentRoot directory-path

在沒有使用類似Alias這樣的指令的情況下,服務器會將請求中的URL附加到DocumentRoot後面以構成指向文檔的路徑。

如果directory-path不是絕對路徑,則被假定爲是相對於ServerRoot的路徑。

指定DocumentRoot時不應包括最後的"/"。


9. <Directory>:<Directory>和</Directory>用於封裝一組指令,使之僅對某個目錄及其子目錄生效。

語法:<Directory Directory-path> ... </Directory>

Directory-path可以是一個目錄的完整路徑,或是包含了Unix shell匹配語法的通配符字符串。在通配符字符串中,"?"匹配任何單個的字符,"*"匹配任何字符序列。也可以使

用"[]"來確定字符範圍。在"~" 字符之後也可以使用正則表達式。

如果有多個(非正則表達式)<Directory>配置段符合包含某文檔的目錄(或其父目錄),那麼指令將以短目錄優先的規則進行應用,幷包含.htaccess文件中的指令。

正則表達式將在所有普通配置段之後予以考慮。所有的正則表達式將根據它們出現在配置文件中的順序進行應用。

<Directory>指令不可被嵌套使用,也不能出現在<Limit>或<LimitExcept>配置段中。


10. <Files>:提供基於文件名的訪問控制,類似於<Directory>和<Location>指令。

語法:<Files filename> ... </Files>

filename參數應當是一個文件名或是一個包含通配符的字符串,其中"?"匹配任何單個字符,"*"匹配任何字符串序列。在"~"字符之後可以使用正則表達式。

在此配置段中定義的指令將作用於其基本名稱(不是完整的路徑)與指定的文件名相符的對象。<Files>段將根據它們在配置文件中出現的順序被處理:在<Directory>段和.htaccess

文件被處理之後,但在<Location>段之前。<Files>能嵌入到<Directory>段中以限制它們作用的文件系統範圍,也可用於.htaccess文件當中,以允許用戶在文件層面上控制對它們

自己文件的訪問。


11. <IfModule>:封裝根據指定的模塊是否啓用而決定是否生效的指令。

語法:<IfModule [!]module-file|module-identifier> ... </IfModule>

module-file是指編譯模塊時的文件名,比如mod_rewrite.c 。

module-identifier是指模塊的標識符,比如mod_rewrite 。

在<IfModule>配置段中的指令僅當測試結果爲真的時候才進行處理,否則所有其間的指令都將被忽略。


12. Options:控制在特定目錄中將使用哪些服務器特性

語法:Options [+|-]option [[+|-]option] ...

option可以爲None,不啓用任何額外特性,或者下面選項中的一個或多個:

All  除MultiViews之外的所有特性,這是默認設置。

ExecCGI  允許使用mod_cgi執行CGI腳本。

FollowSymLinks  服務器允許在此目錄中使用符號連接,如果此配置位於<Location>配置段中,則會被忽略。

Includes  允許使用mod_include提供的服務器端包含。

IncludesNOEXEC  允許服務器端包含,但禁用"#exec cmd"和"#exec cgi",但仍可以從ScriptAlias目錄使用"#include virtual"虛擬CGI腳本。

Indexes  如果一個映射到目錄的URL被請求,而此目錄中又沒有DirectoryIndex(例如:index.html),那麼服務器會返回由mod_autoindex生成的一個格式化後的目錄列表。

MultiViews  允許使用mod_negotiation提供內容協商的"多重視圖"(MultiViews)。

SymLinksIfOwnerMatch  服務器僅在符號連接與其目的目錄或文件的擁有者具有相同的uid時才使用它。 如果此配置出現在<Location>配置段中,則將被忽略。

一般來說,如果一個目錄被多次設置了Options ,則最特殊的一個會被完全接受(其它的被忽略),而各個可選項的設定彼此並不融合。然而,如果所有作用於Options指令的可選項

前都加有"+" 或"-"符號,此可選項將被合併。所有前面加有"+"號的可選項將強制覆蓋當前的可選項設置,而所有前面有"-"號的可選項將強制從當前可選項設置中去除。


13. AllowOverride:確定允許存在於.htaccess文件中的指令類型。

語法:AllowOverride All|None|directive-type [directive-type] ...

如果此指令被設置爲None ,那麼.htaccess文件將被完全忽略。事實上,服務器根本不會讀取.htaccess文件。

當此指令設置爲All時,所有具有".htaccess"作用域的指令都允許出現在.htaccess文件中。

directive-type可以是下列各組指令之一:

AuthConfig  允許使用與認證授權相關的指令

FileInfo  允許使用控制文檔類型的指令、控制文檔元數據的指令、mod_rewrite中的指令、mod_actions中的Action指令

Indexes  允許使用控制目錄索引的指令

Limit  允許使用控制主機訪問的指令

Options[=Option,...]  允許使用控制指定目錄功能的指令(Options和XBitHack)。可以在等號後面附加一個逗號分隔的(無空格的)Options選項列表,用來控制允許Options指令

使用哪些選項。

AllowOverride僅在不包含正則表達式的<Directory>配置段中才是有效的。在<Location>, <DirectoryMatch>, <Files>配置段中都是無效的。

Order:控制默認的訪問狀態與Allow和Deny指令生效的順序。

Ordering取值範圍是以下幾種範例之一:

Deny,Allow  Deny指令在Allow指令之前被評估。默認允許所有訪問。任何不匹配Deny指令或者匹配Allow指令的客戶都被允許訪問。

Allow,Deny  Allow指令在Deny指令之前被評估。默認拒絕所有訪問。任何不匹配Allow指令或者匹配Deny指令的客戶都將被禁止訪問。

Mutual-failure  只有出現在Allow列表並且不出現在Deny列表中的主機才被允許訪問。這種順序與"Order Allow,Deny"具有同樣效果,不贊成使用。

關鍵字只能用逗號分隔,它們之間不能有空格,在所有情況下每個Allow和Deny指令語句都將被評估。

Allow:控制哪些主機可以訪問服務器的該區域。可以根據主機名、IP地址、 IP地址範圍或其他環境變量中捕獲的客戶端請求特性進行控制。

語法:Allow from all|host|env=env-variable [host|env=env-variable] ...

這個指令的第一個參數總是"from",隨後的參數可以有三種不同形式:如果指定"Allow from all",則允許所有主機訪問,按照下述Deny和Order指令的配置;若要只允許特定的主

機或主機羣訪問服務器,host可以用下面任何一種格式來指定:一個(部分)域名、完整的IP地址、部分IP地址、網絡/掩碼、網絡/nnn無類別域間路由規格;第三種參數格式允許

對服務器的訪問由環境變量的一個擴展指定,指定"Allow from env=env-variable"時,如果環境變量env-variable存在則訪問被允許,使用由mod_setenvif提供的指令,服務器用

一種基於客戶端請求的彈性方式提供了設置環境變量的能力。因此,這條指令可以用於允許基於像User-Agent(瀏覽器類型)、Referer或其他 HTTP請求頭字段的訪問。

Deny:控制哪些主機被禁止訪問服務器的該區域。可以根據主機名、IP地址、 IP地址範圍或其他環境變量中捕獲的客戶端請求特性進行控制。

語法:Deny from all|host|env=env-variable [host|env=env-variable] ...

此指令的參數設置和Allow指令完全相同。


14. DirectoryIndex:當客戶端請求一個目錄時尋找的資源列表。

語法:DirectoryIndex Local-url [Local-url] ...

Local-url(%已解碼的)是一個相對於被請求目錄的文檔的URL(通常是那個目錄中的一個文件)。可以指定多個URL,服務器將返回最先找到的那一個,比如:

DirectoryIndex index.html index.php


15. ErrorLog:指定當服務器遇到錯誤時記錄錯誤日誌的文件。

語法:ErrorLog file-path|syslog[:facility]

如果file-path不是一個以斜槓(/)開頭的絕對路徑,那麼將被認爲是一個相對於ServerRoot的相對路徑;如果file-path以一個管道符號(|)開頭,那麼會爲它指定一個命令來處理

錯誤日誌,如 ErrorLog "|/usr/local/sbin/cronolog /var/log/httpd/%w/errors_log" 。

如果系統支持,使用"syslog"替代文件名將通過 syslogd(8)來記載日誌。默認將使用系統日誌機制local7 ,但您可以用"syslog:facility"語法來覆蓋這個設置,其中,facility

的取值爲syslog(1)中記載的任何一個名字。


16. LogLevel:用於調整記錄在錯誤日誌中的信息的詳細程度。

語法:LogLevel level

可以選擇下列level,依照重要性降序排列:

emerg  緊急(系統無法使用)

alert  必須立即採取措施

crit  致命情況

error  錯誤情況

warn  警告情況

notice  一般重要情況

info   普通信息

debug  調試信息

當指定了某個級別時,所有級別高於它的信息也會被同時記錄。比如,指定 LogLevel info ,則所有notice和warn級別的信息也會被記錄。建議至少使用crit級別。

當錯誤日誌是一個單獨分開的正式文件的時候,notice級別的消息總是會被記錄下來,而不能被屏蔽。但是,當使用syslog來記錄時就沒有這個問題。


17. LogFormat:定義訪問日誌的記錄格式。

語法:LogFormat format|nickname [nickname]

LogFormat指令可以使用兩種定義格式中的一種。

在第一種格式中,指令只帶一個參數,以定義後續的TransferLog指令定義的日誌格式。另外它也可以通過下述的方法使用nickname來引用某個之前的LogFormat定義的日誌格式。

第二種定義LogFormat指令的格式中,將一個直接的format和一個nickname聯繫起來。這樣在後續的LogFormat或 CustomLog指令中,就不用一再重複整個冗長的格式串。定義別名

的LogFormat指令僅僅用來定義一個nickname ,而不做其它任何事情,也就是說,它只是定義了這個別名,它既沒有實際應用這個別名,也不是把它設爲默認的格式。因此,它不

會影響後續的 TransferLog指令。另外,LogFormat不能用一個別名來定義另一個別名。nickname不能包含百分號(%)。

關於format的格式,請參見Apache2.2官方文檔中的自定義日誌格式小節。


18. CustomLog:設定日誌的文件名和格式。

語法:CustomLog file|pipe format|nickname [env=[!]environment-variable]

第一個參數指定了日誌記錄的位置,可以使用以下兩種方式來設定:

file  相對於ServerRoot的日誌文件名。
pipe  管道符"|"後面緊跟着一個把日誌輸出當作標準輸入的處理程序路徑。

第二個參數指定了寫入日誌文件的內容。它既可以是由前面的LogFormat指令定義的nickname ,也可以是直接按Apache2.2官方文檔中的自定義日誌格式小節所描述的規則定義的

format字符串。

第三個參數是可選的,它根據服務器上特定的環境變量是否被設置來決定是否對某一特定的請求進行日誌記錄。如果這個特定的環境變量被設置(或者在"env=!name"的情況下未被

設置),那麼這個請求將被記錄。可以使用mod_setenvif和/或mod_rewrite模塊來爲每個請求設置環境變量。


19. TransferLog:指定日誌文件的位置。

語法:TransferLog file|pipe

本指令除不允許直接定義日誌格式或根據條件進行日誌記錄外,與CustomLog指令有完全相同的參數和功能。實際應用中,日誌的格式是由最近的非別名定義的LogFormat指令指定

。如果沒有定義任何日誌格式,則使用通用日誌格式。


20. Alias:映射URL到文件系統的特定區域。

語法:Alias URL-path file-path|directory-path

Alias指令使文檔可以被存儲在DocumentRoot以外的本地文件系統中。以(%已解碼的)url-path路徑開頭的URL可以被映射到以directory-path開頭的本地文件。

如果對在DocumentRoot之外的某個目錄建立了一個Alias ,則可能需要通過<Directory>段明確的對目標目錄設定訪問權限。


21.ScriptAlias:映射一個URL到文件系統並視之爲CGI腳本目錄。

語法:ScriptAlias URL-path file-path|directory-path

ScriptAlias指令的行爲與Alias指令相同,但同時它又標明此目錄中含有應該由cgi-script處理器處理的CGI腳本。以URL-path開頭的(%已解碼的)的URL會被映射到由第二個參數指

定的具有完整路徑名的本地文件系統中的腳本。

ScriptSock:在以線程式MPM(worker)運行的Apache中設置用來與CGI守護進程通信的套接字文件名前綴(其後附加父進程 PID組成完整的文件名)。這個套接字將會用啓動Apache服

務器的父進程用戶權限(通常是root)打開。爲了維護與CGI腳本通訊的安全性,不允許其他用戶擁有寫入套接字所在目錄的權限是很重要的。


22. DefaultType:在服務器無法由其他方法確定內容類型時,發送的默認MIME內容類型。

語法:DefaultType MIME-type

默認:DefaultType text/plain


23. AddType:在給定的文件擴展名與特定的內容類型之間建立映射關係。

語法:AddType MIME-type extension [extension] ...

MIME-type指明瞭包含extension擴展名的文件的媒體類型。這個映射關係會添加在所有有效的映射關係上,並覆蓋所有相同的extension擴展名映射。

extension參數是不區分大小的,並且可以帶或不帶前導點。


24. ErrorDocument:批示當遇到錯誤的時候服務器將給客戶端什麼樣的應答。

語法:ErrorDocument error-code document

error-code  服務器返回的錯誤代碼

document  可以由一個斜槓(/)開頭來指示一個本地URL(相對於DocumentRoot),或是提供一個能被客戶端解釋的完整的URL。此外還能提供一個可以被瀏覽器顯示的消息。比如:

ErrorDocument 500http://www.entage.net/err500.html

ErrorDocument 404 /errors/bad_urls.html

ErrorDocument 403 "Sorry can't allow you access today"


25. EnableMMAP:指示httpd在遞送中如果需要讀取一個文件的內容,它是否可以使用內存映射。

語法:EnableMMAP On|Off

當處理一個需要訪問文件中的數據的請求時,比如說當遞送一個使用mod_include進行服務器端分析的文件時,如果操作系統支持,Apache將默認使用內存映射。

這種內存映射有時會帶來性能的提高,但在某些情況下,您可能會需要禁用內存映射以避免一些操作系統的問題:

在一些多處理器的系統上,內存映射會減低一些httpd的性能;

在掛載了NFS的DocumentRoot上,若已經將一個文件進行了內存映射,則刪除或截斷這個文件會造成httpd因爲分段故障而崩潰。

在可能遇到這些問題的服務器配置過程中,應當使用下面的命令來禁用內存映射:


26. EnableMMAP Off

對於掛載了NFS的文件夾,可以單獨在<directory>段中指定禁用內存映射:

<Directory "/path-to-nfs-files">
EnableMMAP Off
</Directory>


27. EnableSendfile:控制httpd是否可以使用操作系統內核的sendfile支持來將文件發送到客戶端。

默認情況下,當處理一個請求並不需要訪問文件內部的數據時(比如發送一個靜態的文件內容),如果操作系統支持,Apache將使用sendfile將文件內容直接發送到客戶端而並不讀

取文件。

這個sendfile機制避免了分開的讀和寫操作以及緩衝區分配,但是在一些平臺或者一些文件系統上,最好禁止這個特性來避免一些問題:

一些平臺可能會有編譯系統檢測不到的有缺陷的sendfile支持,特別是將在其他平臺上使用交叉編譯得到的二進制文件運行於當前對sendfile支持有缺陷的平臺時;

在Linux上啓用IPv6時,使用sendfile將會觸發某些網卡上的TCP校驗和卸載bug;

當Linux運行在Itanium處理器上的時候,sendfile可能無法處理大於2GB的文件;

對於一個通過網絡掛載了NFS文件系統的DocumentRoot (比如:NFS或SMB),內核可能無法可靠的通過自己的緩衝區服務於網絡文件。

如果出現以上情況,你應當禁用sendfile :

EnableSendfile Off

針對NFS或SMB,可以單獨在<directory>段中指定禁用:

<Directory "/path-to-nfs-files">
EnableSendfile Off
</Directory>


28. include:在服務器配置文件中包含其它配置文件。

語法:Include file-path|directory-path

Shell風格(fnmatch())的通配符可以用於按照字母順序一次包含多個文件。另外,如果Include指向了一個目錄而不是一個文件,Apache將讀入該目錄及其子目錄下的所有文件,並

依照字母順序將這些文件作爲配置文件進行解析。但是並不推薦這麼做,因爲偶爾會有臨時文件在這個目錄中生成,從而導致httpd啓動失敗。

文件的路徑可以是一個完整的絕對路徑(以一個斜槓開頭),或是相對於ServerRoot目錄的相對路徑。

 

29. 設置動態加載的DSO模塊

#如果需要提供基於文本文件的認證,加載此模塊,否則註釋掉

LoadModule authn_file_module modules/mod_authn_file.so

#如果需要提供基於DBM文件的認證,加載此模塊,否則註釋掉

#LoadModule authn_dbm_module modules/mod_authn_dbm.so

#如果需要提供匿名用戶認證,加載此模塊,否則註釋掉

#LoadModule authn_anon_module modules/mod_authn_anon.so

#如果需要提供基於SQL數據庫的認證,加載此模塊,否則註釋掉

#LoadModule authn_dbd_module modules/mod_authn_dbd.so

#如果需要在未正確配置認證模塊的情況下簡單拒絕一切認證信息,加載此模塊,否則註釋掉

LoadModule authn_default_module modules/mod_authn_default.so

#此模塊提供基於主機名、IP地址、請求特徵的訪問控制,Allow、Deny指令需要,推薦加載。

LoadModule authz_host_module modules/mod_authz_host.so

#如果需要使用純文本文件爲組提供授權支持,加載此模塊,否則註釋掉

#LoadModule authz_groupfile_module modules/mod_authz_groupfile.so

#如果需要提供基於每個用戶的授權支持,加載此模塊,否則註釋掉

LoadModule authz_user_module modules/mod_authz_user.so

#如果需要使用DBM文件爲組提供授權支持,加載此模塊,否則註釋掉

#LoadModule authz_dbm_module modules/mod_authz_dbm.so

#如果需要基於文件的所有者進行授權,加載此模塊,否則註釋掉

#LoadModule authz_owner_module modules/mod_authz_owner.so

#如果需要在未正確配置授權支持模塊的情況下簡單拒絕一切授權請求,加載此模塊,否則註釋掉

LoadModule authz_default_module modules/mod_authz_default.so

#如果需要提供基本的HTTP認證,加載此模塊,否則註釋掉,此模塊至少需要同時加載一個認證支持模塊和一個授權支持模塊

LoadModule auth_basic_module modules/mod_auth_basic.so

##如果需要提供HTTP MD5摘要認證,加載此模塊,否則註釋掉,此模塊至少需要同時加載一個認證支持模塊和一個授權支持模塊

#LoadModule auth_digest_module modules/mod_auth_digest.so

#此模塊提供文件描述符緩存支持,從而提高Apache性能,推薦加載,但請小心使用

LoadModule file_cache_module modules/mod_file_cache.so

#此模塊提供基於URI鍵的內容動態緩存(內存或磁盤),從而提高Apache性能,必須與mod_disk_cache/mod_mem_cache同時使用,推薦加載

LoadModule cache_module modules/mod_cache.so

#此模塊爲mod_cache提供基於磁盤的緩存管理,推薦加載

LoadModule disk_cache_module modules/mod_disk_cache.so

#此模塊爲mod_cache提供基於內存的緩存管理,推薦加載

LoadModule mem_cache_module modules/mod_mem_cache.so

#如果需要管理SQL數據庫連接,爲需要數據庫功能的模塊提供支持,加載此模塊,否則註釋掉(推薦)

#LoadModule dbd_module modules/mod_dbd.so

#此模塊將所有I/O操作轉儲到錯誤日誌中,會導致在日誌中寫入及其海量的數據,只建議在發現問題並進行調試的時候使用

#LoadModule dumpio_module modules/mod_dumpio.so

#如果需要使用外部程序作爲過濾器,加載此模塊(不推薦),否則註釋掉

#LoadModule ext_filter_module modules/mod_ext_filter.so

#如果需要實現服務端包含文檔(SSI)處理,加載此模塊(不推薦),否則註釋掉

#LoadModule include_module modules/mod_include.so

#如果需要根據上下文實際情況對輸出過濾器進行動態配置,加載此模塊,否則註釋掉

LoadModule filter_module modules/mod_filter.so

#如果需要服務器在將輸出內容發送到客戶端以前進行壓縮以節約帶寬,加載此模塊(推薦),否則註釋掉

LoadModule deflate_module modules/mod_deflate.so

##如果需要記錄日誌和定製日誌文件格式,加載此模塊(推薦),否則註釋掉

LoadModule log_config_module modules/mod_log_config.so

#如果需要對每個請求的輸入/輸出字節數以及HTTP頭進行日誌記錄,加載此模塊,否則註釋掉

#LoadModule logio_module modules/mod_logio.so

#如果允許Apache修改或清除傳送到CGI腳本和SSI頁面的環境變量,加載此模塊,否則註釋掉

LoadModule env_module modules/mod_env.so

#如果允許通過配置文件控制HTTP的"Expires:"和"Cache-Control:"頭內容,加載此模塊(推薦),否則註釋掉

LoadModule expires_module modules/mod_expires.so

#如果允許通過配置文件控制任意的HTTP請求和應答頭信息,加載此模塊,否則註釋掉

LoadModule headers_module modules/mod_headers.so

#如果需要實現RFC1413規定的ident查找,加載此模塊(不推薦),否則註釋掉

#LoadModule ident_module modules/mod_ident.so

#如果需要根據客戶端請求頭字段設置環境變量,加載此模塊,否則註釋掉

LoadModule setenvif_module modules/mod_setenvif.so

#此模塊是mod_proxy的擴展,提供Apache JServ Protocol支持,只在必要時加載

#LoadModule proxy_ajp_module modules/mod_proxy_ajp.so

#此模塊是mod_proxy的擴展,提供負載均衡支持,只在必要時加載

#LoadModule proxy_balancer_module modules/mod_proxy_balancer.so

#如果需要根據文件擴展名決定應答的行爲(處理器/過濾器)和內容(MIME類型/語言/字符集/編碼),加載此模塊,否則註釋掉

LoadModule mime_module modules/mod_mime.so

#如果允許Apache提供DAV協議支持,加載此模塊,否則註釋掉

#LoadModule dav_module modules/mod_dav.so

#此模塊生成描述服務器狀態的Web頁面,只建議在追蹤服務器性能和問題時加載

#LoadModule status_module modules/mod_status.so

#如果需要自動對目錄中的內容生成列表(類似於"ls"或"dir"命令),加載此模塊(會帶來安全問題,不推薦),否則註釋掉

#LoadModule autoindex_module modules/mod_autoindex.so

#如果需要服務器發送自己包含HTTP頭內容的文件,加載此模塊,否則註釋掉

#LoadModule asis_module modules/mod_asis.so

#如果需要生成Apache配置情況的Web頁面,加載此模塊(會帶來安全問題,不推薦),否則註釋掉

#LoadModule info_module modules/mod_info.so

#如果需要在非線程型MPM(prefork)上提供對CGI腳本執行的支持,加載此模塊,否則註釋掉

#LoadModule cgi_module modules/mod_cgi.so

#此模塊在線程型MPM(worker)上用一個外部CGI守護進程執行CGI腳本,如果正在多線程模式下使用CGI程序,推薦替換mod_cgi加載,否則註釋掉

#LoadModule cgid_module modules/mod_cgid.so

#此模塊爲mod_dav訪問服務器上的文件系統提供支持,如果加載mod_dav,則也應加載此模塊,否則註釋掉

#LoadModule dav_fs_module modules/mod_dav_fs.so

#如果需要提供大批量虛擬主機的動態配置支持,加載此模塊,否則註釋掉

#LoadModule vhost_alias_module modules/mod_vhost_alias.so

#如果需要提供內容協商支持(從幾個有效文檔中選擇一個最匹配客戶端要求的文檔),加載此模塊(推薦),否則註釋掉

LoadModule negotiation_module modules/mod_negotiation.so

#如果需要指定目錄索引文件以及爲目錄提供"尾斜槓"重定向,加載此模塊(推薦),否則註釋掉

LoadModule dir_module modules/mod_dir.so

#如果需要處理服務器端圖像映射,加載此模塊,否則註釋掉

#LoadModule imagemap_module modules/mod_imagemap.so

#如果需要針對特定的媒體類型或請求方法執行CGI腳本,加載此模塊,否則註釋掉

#LoadModule actions_module modules/mod_actions.so

#如果希望服務器自動糾正URL中的拼寫錯誤,加載此模塊(推薦),否則註釋掉

LoadModule speling_module modules/mod_speling.so

#如果允許在URL中通過"/~username"形式從用戶自己的主目錄中提供頁面,加載此模塊,否則註釋掉

#LoadModule userdir_module modules/mod_userdir.so

#此模塊提供從文件系統的不同部分到文檔樹的映射和URL重定向,推薦加載

LoadModule alias_module modules/mod_alias.so

#如果需要基於一定規則實時重寫URL請求,加載此模塊(推薦),否則註釋掉

LoadModule rewrite_module modules/mod_rewrite.so



摘自http://jafy00.blog.51cto.com/2594646/508205


DocumentRoot"/usr/local/apache-2.2.6/htdocs"

#設置WEB文檔根目錄的默認屬性

<Directory />

    OptionsFollowSymLinks

   AllowOverride None

    Orderdeny,allow

    Deny fromall

</Directory>


#設置DocumentRoot指定目錄的屬性

<Directory "/usr/local/apache-2.2.6/htdocs">

    OptionsFollowSymLinks

   AllowOverride None

    Orderallow,deny

    Allow fromall

</Directory>


#設置默認目錄資源列表文件

<IfModule dir_module>

   DirectoryIndex index.html

</IfModule>


#拒絕對.ht開頭文件的訪問,以保護.htaccess文件

<FilesMatch"^\.ht">

    Orderallow,deny

    Deny fromall

    SatisfyAll

</FilesMatch>


<IfModule log_config_module>

#定義訪問日誌的格式

    LogFormat"%h %l %u %t \"%r\" %>s %b \"%{Referer}i\"\"%{User-Agent}i\"" combined

    LogFormat"%h %l %u %t \"%r\" %>s %b" common

   <IfModule logio_module>

     LogFormat "%h %l %u %t \"%r\" %>s %b\"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio

   </IfModule>

#指定訪問日誌及使用的格式

    CustomLoglogs/access_log combined

</IfModule>


#設定默認CGI腳本目錄及別名

ScriptAlias /cgi-bin/"/usr/local/apache-2.2.6/cgi-bin/"


#
在以線程式MPM(worker)運行的Apache中設置用來與CGI守護進程通信的套接字文件名前綴

<IfModule cgid_module>

    Scriptsocklogs/cgisock

</IfModule>


#設定默認CGI腳本目錄的屬性

<Directory"/usr/local/apache-2.2.6/cgi-bin">

   AllowOverride None

    OptionsNone

    Orderallow,deny

    Allow fromall

</Directory>


#設定默認MIME內容類型

DefaultType text/plain

<IfModule mime_module>

##指定MIME類型映射文件

   TypesConfig conf/mime.types

#增加.Z .tgz的類型映射

    AddTypeapplication/x-compress .Z

    AddTypeapplication/x-gzip .gz .tgz

</IfModule>


#啓用內存映射

EnableMMAP on

##使用操作系統內核的sendfile支持來將文件發送到客戶端

EnableSendfile on


#指定多路處理模塊(MPM)配置文件並將其附加到主配置文件

Includeconf/extra/httpd-mpm.conf


#指定多語言錯誤應答配置文件並將其附加到主配置文件

Includeconf/extra/httpd-multilang-errordoc.conf


#指定目錄列表配置文件並將其附加到主配置文件

#Include conf/extra/httpd-autoindex.conf


#指定語言配置文件並將其附加到主配置文件

Includeconf/extra/httpd-languages.conf


#指定用戶主目錄配置文件並將其附加到主配置文件

#Includeconf/extra/httpd-userdir.conf


#指定用於服務器信息和狀態顯示的配置文件並將其附加到主配置文件

#Includeconf/extra/httpd-info.conf


#指定提供Apache文檔訪問的配置文件並將其附加到配置文件

#Include conf/extra/httpd-manual.conf


#指定DAV配置文件並將其附加到主配置文件

#Includeconf/extra/httpd-dav.conf


#指定與Apache服務自身相關的配置文件並將其附加到主配置文件

Includeconf/extra/httpd-default.conf


#指定mod_deflate壓縮模塊配置文件並將其附加到主配置文件

Includeconf/extra/httpd-deflate.conf


#指定mod_expires模塊配置文件並將其附加到主配置文件

Includeconf/extra/httpd-expires.conf


##指定虛擬主機配置文件並將其附加到主配置文件

#Includeconf/extra/httpd-vhosts.conf


#指定SSL配置文件並將其附加到主配置文件

Includeconf/extra/httpd-ssl.conf


##SSL默認配置

<IfModule ssl_module>

SSLRandomSeed startup builtin

SSLRandomSeed connect builtin

</IfModule>

 

#配置多路處理模塊(MPM)httpd-mpm.conf

首先說一下原理:

prefork模式
這個多路處理模塊(MPM)實現了一個非線程型的、預派生的web服務器,它的工作方式類似於Apache 1.3。它適合於沒有線程安全庫,需要避免線程兼容性問題的系統。它是要求將

每個請求相互獨立的情況下最好的MPM,這樣若一個請求出現問題就不會影響到其他請求。

這個MPM具有很強的自我調節能力,只需要很少的配置指令調整。最重要的是將MaxClients設置爲一個足夠大的數值以處理潛在的請求高峯,同時又不能太大,以致需要使用的內存

超出物理內存的大小。

worker模式
此多路處理模塊(MPM)使網絡服務器支持混合的多線程多進程。由於使用線程來處理請求,所以可以處理海量請求,而系統資源的開銷小於基於進程的MPM。但是,它也使用了多進

程,每個進程又有多個線程,以獲得基於進程的MPM的穩定性。

控制這個MPM的最重要的指令是,控制每個子進程允許建立的線程數的ThreadsPerChild指令,和控制允許建立的總線程數的MaxClients指令


#
設置prefork多路處理模塊

<IfModule mpm_prefork_module>

   StartServers          5

   MinSpareServers       5

   MaxSpareServers      10

   ServerLimit    8000

   MaxClients         8000

   MaxRequestsPerChild   0

</IfModule>

StartServers:設置服務器啓動時建立的子進程數量。因爲子進程數量動態的取決於負載的輕重,所有一般沒有必要調整這個參數。

MinSpareServers:設置空閒子進程的最小數量。所謂空閒子進程是指沒有正在處理請求的子進程。如果當前空閒子進程數少於 MinSpareServers ,那麼Apache將以最大每秒一個的

速度產生新的子進程。只有在非常繁忙機器上才需要調整這個參數。將此參數設的太大通常是一個壞主意。

MaxSpareServers:設置空閒子進程的最大數量。如果當前有超過MaxSpareServers數量的空閒子進程,那麼父進程將殺死多餘的子進程。只有在非常繁忙機器上才需要調整這個參數

。將此參數設的太大通常是一個壞主意。如果你將該指令的值設置爲比MinSpareServers 小,Apache將會自動將其修改成"MinSpareServers+1"。

ServerLimit:服務器允許配置的進程數上限。只有在你需要將MaxClients設置成高於默認值256的時候才需要使用。要將此指令的值保持和MaxClients一樣。修改此指令的值必須

完全停止服務後再啓動才能生效,以restart方式重啓動將不會生效。

MaxClients:用於伺服客戶端請求的最大請求數量(最大子進程數),任何超過MaxClients限制的請求都將進入等候隊列。默認值是256,如果要提高這個值必須同時提高

ServerLimit的值。筆者建議將初始值設爲(以Mb爲單位的最大物理內存/2),然後根據負載情況進行動態調整。比如一臺4G內存的機器,那麼初始值就是4000/2=2000。

MaxRequestsPerChild:設置每個子進程在其生存期內允許伺服的最大請求數量。到達MaxRequestsPerChild的限制後,子進程將會結束。如果MaxRequestsPerChild爲"0",子進程

將永遠不會結束。將MaxRequestsPerChild設置成非零值有兩個好處:可以防止(偶然的)內存泄漏無限進行而耗盡內存;

給進程一個有限壽命,從而有助於當服務器負載減輕的時候減少活動進程的數量。

如果設置爲非零值,建議設爲10000-30000之間的一個值。

公式:MaxClients<=ServerLimit


#
設置worker多路處理模塊

<IfModulempm_worker_module>

   StartServers          5

   ServerLimit          20

   ThreadLimit         200

   MaxClients         4000

   MinSpareThreads      25

   MaxSpareThreads   250

   ThreadsPerChild     200

   MaxRequestsPerChild   0

</IfModule>

StartServers:設置服務器啓動時建立的子進程數量。因爲子進程數量動態的取決於負載的輕重,所有一般沒有必要調整這個參數。

ServerLimit:服務器允許配置的進程數上限。只有在你需要將MaxClients和ThreadsPerChild設置成需要超過默認值16個子進程的時候才需要使用這個指令。不要將該指令的值設

置的比MaxClients 和ThreadsPerChild需要的子進程數量高。修改此指令的值必須完全停止服務後再啓動才能生效,以restart方式重啓動將不會生效。

ThreadLimit:設置每個子進程可配置的線程數ThreadsPerChild上限,該指令的值應當和ThreadsPerChild可能達到的最大值保持一致。修改此指令的值必須完全停止服務後再啓動

才能生效,以restart方式重啓動將不會生效。

MaxClients:用於伺服客戶端請求的最大接入請求數量(最大線程數)。任何超過MaxClients限制的請求都將進入等候隊列。默認值是"400",16 (ServerLimit)乘以25

(ThreadsPerChild)的結果。因此要增加MaxClients的時候,你必須同時增加 ServerLimit的值。筆者建議將初始值設爲(以Mb爲單位的最大物理內存/2),然後根據負載情況進行動

態調整。比如一臺4G內存的機器,那麼初始值就是4000/2=2000。
MinSpareThreads:最小空閒線程數,默認值是"75"。這個MPM將基於整個服務器監視空閒線程數。如果服務器中總的空閒線程數太少,子進程將產生新的空閒線程。

MaxSpareThreads:設置最大空閒線程數。默認值是"250"。這個MPM將基於整個服務器監視空閒線程數。如果服務器中總的空閒線程數太多,子進程將殺死多餘的空閒線程。

MaxSpareThreads的取值範圍是有限制的。Apache將按照如下限制自動修正你設置的值:worker要求其大於等於 MinSpareThreads加上ThreadsPerChild的和。

ThreadsPerChild:每個子進程建立的線程數。默認值是25。子進程在啓動時建立這些線程後就不再建立新的線程了。每個子進程所擁有的所有線程的總數要足夠大,以便可以處理

可能的請求高峯。

MaxRequestsPerChild:設置每個子進程在其生存期內允許伺服的最大請求數量。到達MaxRequestsPerChild的限制後,子進程將會結束。如果MaxRequestsPerChild爲"0",子進程

將永遠不會結束。將MaxRequestsPerChild設置成非零值有兩個好處:可以防止(偶然的)內存泄漏無限進行而耗盡內存;

給進程一個有限壽命,從而有助於當服務器負載減輕的時候減少活動進程的數量。

如果設置爲非零值,建議設爲10000-30000之間的一個值。

公式:

        ThreadLimit >= ThreadsPerChild

        MaxClients <= ServerLimit * ThreadsPerChild 必須是ThreadsPerChild的倍數

        MaxSpareThreads >= MinSpareThreads+ThreadsPerChild

#配置Apache服務器默認設置 httpd-default.conf

Timeout 300

KeepAlive Off

MaxKeepAliveRequests 100

KeepAliveTimeout 5

UseCanonicalName Off

AccessFileName .htaccess

ServerTokens Prod

ServerSignature Off

HostnameLookups Off


Timeout
:設置服務器在斷定請求失敗前等待的秒數。默認值300

KeepAlive:設置是否啓用HTTP持久鏈接,On 代表打開,Off 代表關閉。如果用於同一頁面包含大量靜態文件的應用,設置爲On,以提高性能;如果用於主要爲動態頁面的應用,

設置爲Off,以節約內存資源;如果服務器前跑有squid或者其它七層設備,設置爲On。

MaxKeepAliveRequests:限制當啓用KeepAlive時,每個連接允許的請求數量。如果將此值設爲"0",將不限制請求的數目。筆者建議將此值設爲100-500之間的一個值,以確保最優

的服務器性能。

KeepAliveTimeout:設置持久鏈接中服務器在兩次請求之間等待的秒數。對於高負荷服務器來說,KeepAliveTimeout值較大會導致一些性能方面的問題:超時值越大,與空閒客戶

端保持連接的進程就越多。

UseCanonicalName:配置服務器如何確定它自己的域名,可選值爲On| Off | DNS。DNS用於爲大量基於IP的虛擬主機支持那些古董級的不提供"Host:"頭的瀏覽器使用。筆者建議

設置爲Off

AccessFileName:設置分佈式配置文件的名字,默認爲.htaccess。如果爲某個目錄啓用了分佈式配置文件功能,那麼在向客戶端返回其中的文檔時,服務器將在這個文檔所在的各

級目錄中查找此配置文件,因此會帶來性能問題,筆者建議關閉分佈式配置文件功能。

ServerTokens:控制服務器迴應給客戶端的"Server:"應答頭是否包含關於服務器操作系統類型和編譯進的模塊描述信息,同時還控制着 ServerSignature指令的顯示內容。可選值

爲Full | OS | Minor |Minimal | Major | Prod。筆者建議設置爲顯示最少信息的Prod。

ServerSignature:配置服務器生成頁面的頁腳,可選值爲On |Off | EMail。採用On會簡單的增加一行關於服務器版本和正在伺服的虛擬主機的ServerName,而EMail設置會額外

創建一個指向 ServerAdmin的"mailto:"部分。建議使用默認值Off。

HostnameLookups:設置是否啓用對客戶端IP的DNS查找,可選值爲On | Off | Double。DNS查詢會造成明顯的時間消耗,建議設置爲Off。

 

#配置mod_deflate壓縮模塊 httpd-deflate.conf

mod_deflate模塊提供了DEFLATE輸出過濾器,允許服務器在將輸出內容發送到客戶端以前進行壓縮,以節約帶寬。

編輯mod_deflate壓縮模塊設置文件:


<IfModule mod_deflate.c>

   DeflateMemLevel 9

   DeflateWindowSize 15

   DeflateBufferSize 8096

   DeflateCompressionLevel 8

    ## 調試時去掉下面5行前的註釋符,用以記錄壓縮日誌

   #DeflateFilterNote Input instream

   #DeflateFilterNote Output outstream

   #DeflateFilterNote Ratio ratio

    #LogFormat'"%r" %b %{outstream}n/%{instream}n (%{ratio}n%%)"%{User-agent}i"' deflate

    #CustomLoglogs/deflate_log deflate

    ## 插入DEFLATE過濾器,以啓用輸出壓縮

 SetOutputFilterDEFLATE

 ## Netscape 4.x 有一些問題,僅壓縮txt/html類型

   BrowserMatch ^Mozilla/4 gzip-only-text/html

 ## Netscape 4.06-4.08不能處理任何壓縮內容,不進行壓縮

   BrowserMatch ^Mozilla/4.0[678] no-gzip

    ## MSIE 會僞裝成 Netscape ,但是事實上它沒有問題

   BrowserMatch \bMSIE !no-gzip !gzip-only-text/html

    ## 設置圖片、mp3、壓縮格式文件等不需要進行壓縮內容

   SetEnvIfNoCase Request_URI .(?:gif|jpe?g|png)$ no-gzip dont-vary

   SetEnvIfNoCase Request_URI .(?:exe|t?gz|zip|bz2|sit|rar)$ no-gzip dont-vary

   SetEnvIfNoCase Request_URI .(?:pdf|mov|avi|mp3|mp4|rm)$ no-gzip dont-vary

    ## 確保代理不會發送錯誤的內容

    Headerappend Vary User-Agent env=!dont-vary

</IfModule>


DeflateMemLevel
:指定zlib在壓縮時最多可以使用多少內存,取值範圍在1到9之間。

DeflateWindowSize:定義zlib壓縮窗口(compression window)的大小,取值範圍在1到15之間,通常窗口越大壓縮效果越好。

DeflateBufferSize:定義zlib一次壓縮的片斷的字節數,默認爲8096。

DeflateCompressionLevel:設定壓縮程度,越高的壓縮程度就會有越好的壓縮效果,同時也意味着佔用越多的CPU資源。取值範圍在 1(最低壓縮率)到 9(最高壓縮率)之間,如果

不設置此指令,默認爲zlib的默認值。

DeflateFilterNote:在日誌中放置壓縮率標記。

語法爲:DeflateFilterNotetype notename

notename就表示這個壓縮率標記的名字,你可以爲了某種統計目的將這個標記的名字添加到訪問日誌中。

type指定notename標記所記錄的數據類型:Input,在標記中存儲過濾器輸入流的字節數;Output,在標記中存儲過濾器輸出流的字節數;Ratio,在標記中存儲過濾器的壓縮比(輸

出/輸入*100),這是type的默認值。

SetOutputFilter:設置用於在服務器應答發送到客戶端之前使用的過濾器。如果多於一個過濾器,必須按照處理內容的順序用分號(;)分隔。

BrowserMatch:基於User-Agent頭有條件地設置環境變量。

SetEnvIfNoCase:根據大小寫無關的客戶端請求屬性設置環境變量。

Headers:配置HTTP應答頭。這個指令可以替換、合併、刪除HTTP應答頭。應答頭緊跟在內容處理器和輸出過濾器完工之後生成,這時候才能對頭進行修改。


#
配置mod_expires模塊

這個模塊控制服務器應答時的Expires頭內容和Cache-Control頭的max-age指令。有效期(expiration date)可以設置爲相對於源文件的最後修改時刻或者客戶端的訪問時刻。這些

HTTP頭向客戶端表明了文檔的有效性和持久性。如果有緩存,文檔就可以從緩存(除已經過期)而不是從服務器讀取。接着,客戶端考察緩存中的副本,看看是否過期或者失效,以

決定是否必須從服務器獲得更新。

編輯mod_expires設置文件:httpd-expires.conf


## mod_expires
設置文件

<IfModulemod_expires.c>

       ExpiresActive on

    ExpiresDefault A300

       ExpiresByType text/html A300

       ExpiresByType image/gif A2592000

       ExpiresByType image/jpeg A2592000

       ExpiresByType image/png A2592000

       ExpiresByType text/css A2592000

       ExpiresByType text/js A2592000

       ExpiresByType text/javascript A2592000

       ExpiresByType application/x-javascript A2592000

</IfModule>


ExpiresActive
:對其作用範圍內的文檔啓用或禁用產生Expires和Cache-Control頭的功能。若設置爲 Off 則不會爲其作用範圍內的任何文檔生成Expires和Cache-Control頭(除非

被更低一層的規則改寫,比如.htaccess文件)。若設置爲 On 則會按照ExpiresByType和ExpiresDefault指令定義的標準爲其作用範圍內的文檔生成Expires和Cache-Control 頭。

注意,這個指令並不保證Expires或Cache-Control頭一定會產生。如果定義的標準不規範,將不會產生這兩個頭,其效果是好像從未設置過這個指令一樣。

ExpiresByType:爲指定MIME類型的文檔配置Expires頭的值。

語法爲:ExpiresByTypeMIME-type <code>seconds

seconds參數設置了添加到基準時間以構造有效期限的秒數。Cache-Control:max-age的計算方法是從有效期減去當前請求時間並轉化爲秒數。

基準時刻可以是源文件的最後修改時刻或者客戶端對源文件的訪問時刻,至於使用那一個則由<code>指定。"M"表示源文件的最後修改時刻,"A"表示客戶端對源文件的訪問時刻。

需要注意的是<code>和seconds之間沒有空格。如果使用"M",所有當前緩存中的文檔副本都將在同一時刻過期,這個可能對定期更新的URL(比如位於同一位置的每週通告)很有好處

。如果使用"A",則每個客戶端所得到的有效期是不一樣的,這個可能對那些幾乎不更新的圖片文件很有好處,特別是對於一組都引用了相同圖片的相關文檔。

ExpiresDefault:設置其作用範圍內的所有文檔的默認有效期的計算方法,它可以被ExpiresByType指令基於MIME類型被改寫。
語法爲:ExpiresDefault <code>seconds

<code>seconds同ExpiresByType一致。

#最後配置一下虛擬主機 httpd-vhost.conf

#這裏重點介紹一下基於多端口的配置

NameVirtualHost *:81
NameVirtualHost *:82
NameVirtualHost *:83


<VirtualHost *:81>
ServerAdmin [email protected]
DocumentRoot /www1
ServerName www.jafy00.com
ErrorLog logs/www1-error.log
CustomLog logs/www1-access_log common
</VirtualHost>

 


<VirtualHost *:82>
<Directory "/www2" >
Options FollowSymLinks
#Deny from all
Allow from all
</Directory>
ServerAdmin [email protected]
DocumentRoot /www2
ServerName www.jafy00.com
DirectoryIndex index.php index.html
ErrorLog logs/www2-error.log
CustomLog logs/www2-access_log combined
</VirtualHost>

 

本文出自 “專注HA架構集羣” 博客,請務必保留此出處http://jafy00.blog.51cto.com/2594646/508205


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章