詳細的配置方式請參閱:apche官方文檔
基本指令
一、一般的配置命令
1、AccessFileName
默認值:AccessFileName .htaccess
此命令是針對目錄的訪問控制文件的名稱;
2、BindAddress
默認值:BindAddress *
設置服務器監(jiān)聽的IP地址;
3、DefaultType
默認值:DefaultType text/html
服務器不知道文件類型時,用缺省值通知客戶端;
4、DocumentRoot
默認值:DocumentRoot “/var/www/html/”
設置Apache提供文件服務的目錄;
5、ErrorDocument
設置當有問題發(fā)生時,Apache所做的反應;
6、<IfModule>
使用不包含在Apache安裝中的模塊的命令
7、Include
包含其它的配置文件
8、Listen
默認值:所有能夠連接到服務器的IP地址
指定如何響應除去Port指定的端口地址外的地址請求;
9、Options
控制某個特定目錄所能使用的服務器功能;
其值有:
None:表示只能瀏覽,
FollowSymLinks:允許頁面連接到別處,
ExecCGI:允許執(zhí)行CGI,
MultiViews:允許看動畫或是聽音樂之類的操作,
Indexes:允許服務器返回目錄的格式化列表,
Includes:允許使用SSI。這些設置可以復選。
All:則可以做任何事,但不包括MultiViews。
AllowOverride:加None參數表示任何人都可以瀏覽該目錄下的文件。
另外的參數有:FileInfo、AuthConfig、Limit。
10、Port
默認值:Port 80
設置服務器監(jiān)聽的網絡端口;
11、ServerAdmin
設定管理員的電子郵件地址;
12、ServerName
設定服務器的主機名稱;
13、ServerRoot
默認值:ServerRoot /etc/httpd/
設定服務器的根目錄;
14、User && Group
指定服務器用來回答請求的用戶ID和組ID;
二、性能和資源配置命令
1、進程控制
1.1、MaxClients
默認值:MaxClients 150
設定能同時服務的請求數目;
1.2、MaxRequestsPerChild
默認值:MaxRequestsPerChild 0
設置每個進程能夠響應的最大請求數,0表示不限制;
1.3、MaxSpareServers
默認值:MaxSpareServers 10
設定最大空閑服務進程數目;MinSpareServers設定最小空閑服務進程數目;
1.4、ServerType
默認值:ServerType standalone
設定系統(tǒng)執(zhí)行服務器的方式;
1.5、StartServer
默認值:StartServer 5
服務器啟動時建立的子進程的數目;
1.6、ThreadsPerChild
默認值:ThreadsPerChild 50
設定Apache服務器使用的線程數;
1.7、Timeout
默認值:Timeout 300
設定處理一個請求的超時值;
2、建立持續(xù)連接
2.1、KeepAlive
默認值:KeepAlive ON
設定在Apache中打開或者關閉TCP連接
2.2、KeepAliveTimeout
默認值: KeepAliveTimeout 5
設定在Apache關閉TCP連接等待的時間;
2.3、MaxKeepAliveRequests
默認值:MaxKeepAliveRequests 100
設定持續(xù)連接時每個連接的最大請求數;
3、控制系統(tǒng)資源
3.1、RLimitCPU
控制Apache進程占用CPU的時間;
3.2、RLimitMEM
控制Apache進程的內存占用量;
3.3、RLimitNPROC
設定每個用戶并發(fā)進程的最大數目;
4、動態(tài)裝載模塊
4.1、AddModule
裝入當前服務器不使用的預編譯模塊;
4.2、ClearModuleList
清除預編譯模塊列表;
三、標準容器命令
1、<Directory>
<Directory>和</Directory>容器指令,應用到指定的目錄及其子目錄上;
2、<DirectoryMatch>
<DirectoryMatch>和</DirectoryMatch>除了使用規(guī)則表達式作為參數和不需要通配符~之外,和
<Directory>類似;
3、<File>
<File>和<File>容器用來設置通過文件名訪問;
4、<FilesMatch>
和<File>類似,但不能使用通配符~;
5、<Location>
<Location>和</Location>容器命令用來提供通過URL的訪問控制。
6、<LocationMatch>
<LocationMatch>和<Location>相同,只是不能使用通配符~。
四、虛擬主機命令
1、<VirtualHost>
定義特定的虛擬主機。
2、NameVirtualHost
如果使基于名稱的虛擬主機,則要使用此命令。
3、ServerAlias
針對含有多個IP名稱的基于名稱的虛擬主機??梢允褂脝为毜奶摂M主機命令定義所有的IP名稱。
五、日志命令
1.
ErrorLog
默認值:ErrorLog logs/error_log
設定錯誤日志文件。
2.
LockFile
默認值:LockFile logs/accept.lock
用來設置鎖文件的路徑,確保只有Apache服務器才擁有此文件的讀寫權限。
3.
PidFile
默認值:PidFile logs/httpd.pid
設定Apache服務器記錄守護進程的進程ID的文件。
4.
ScoreBoardFile
默認值:ScoreBoardFile logs/apache_status
設置存儲內部進程數據文件的路徑。
六、認證安全命令
1.
AllowOverride
默認值:AllowOverride All
當服務器找到AccessFileName指定的文件時,需要知道該文件中的那些指令可以覆蓋在配置文件中稍早出現的指令。
AllowOverride可以設為None,此時不會讀取該文件的內容,如果設為All,服務器將允許所有的指令。
2.
AuthName
為某個要求認證的資源設定標號。
3.
Authtype
為某個目錄選擇使用的認證類型。
4.
HostNameLookups
默認值:HostNameLookups Off
設置Apache允許或者禁止為每個請求而進行DNS查找。
5、<Limit>
<Limit>和<Limit>包裝起來的指令只應用到指定的任何有效的HTTP存取方式上。
6、require
這個指令選擇經過驗證可以存取目錄的使用者。
7、Satisfy
如果已經建立了基本的HTTP認證配置,且同時使用了allow和require命令,則可用使用此命令來配置Apache在什么條件才能滿足認證的要求。
標準模塊
1.
mod_access
提供以客戶端的主機名稱或者IP地址為基礎的存取控制。
1.1、allow
典型應用是在<Limit>容器中,用來允許符合條件的主機存取。
1.2、deny
典型應用是在<Limit>容器中,用來禁止符合條件的主機存取。
1.3、order
用來控制allow指令和deny指令的次序。
2.
mod_actions
能夠提供基于MIME類型的CGI腳本或HTTP請求方法。
2.1、Action
對特定的MIME-type指定一個操作。
2.2、Script
此命令和Action相似,但不是將操作和MIME-type聯系起來,而是將操作和HTTP的請求方法聯系起來,如GET、PUT等。
3.
mod_alias
3.1、Alias
該指令可以是文件存放在DocumentRoot之外的本地文件系統(tǒng)里。
3.2、Redirect
該指令將舊的URL重定向到新的URL。
3.3、RedirectMatch
與Redirect類似,但它使用規(guī)則表達式而不是簡單的URL。
3.4、RedirectTemp
和Redirect類似,它讓客戶端知道重定向只是臨時的。
3.5、RedirectPermanent
和Redirect類似,它讓客戶端知道重定向是永久的。
3.6、ScriptAlias
該指令除了把目標目錄標記為包含CGI腳本以外,和Alias功能相同。
3.7、ScriptAliasMatch
該指令出使用規(guī)則表達式以外,和ScriptAlias命令相似。
4.
mod_asis
允許定義文件的類型,這樣,Apache可以不加HTTP頭標(headers)傳送它們。
5.
mod_auth
5.1、AuthGroupFile
該指令用來設置包含用來執(zhí)行用戶驗證的使用者組列表的文本文件。
5.2、AuthUserFile
該指令用來設置包含用來執(zhí)行用戶驗證的使用者以及密碼列表的文本文件。
6.
mod_auth_anno
允許以匿名方式訪問需要認證的區(qū)域。
7.
mod_auth_db
用戶認證數據庫
8.
mod_auth_external
使Apache支持第三方認證。
9.
mod_autoindex
當由DriectoryIndex指定的索引文件不存在時,該模塊使Apache生成動態(tài)模塊列表。
9.1、AddAlt
當FancyIndexing處于打開狀態(tài)時,此命令設置代替圖標的正文。
9.2、AddAltByEncoding
當FancyIndexing處于打開狀態(tài)時,此命令用來為一個或多個MIME-encoding指定正文。
9.3、AddAltByType
此命令用于為文件設置代用正文以代替用于FancyIndexing的圖標。
9.4、AddDescription
該命令設定某文件要顯示的描述,供象征索引(FancyIndexing)使用。
9.5、AddIcon
該命令設定顯示在文件名之后的圖標供象征索引使用。
9.6、AddIconByEncoding
該命令設定顯示在有MIME-encoding的文件名之后的圖標供象征索引使用。
9.7、AddIconByType
該命令設定顯示在MIME-type的文件名之后的圖標供象征索引使用。
9.8、DefaultIcon
設定不知道指定的圖標是什么的時候顯示的圖標。
9.9、DirectoryIndex
設定當客戶端沒有指定以文件形式結尾的目錄名稱請求該目錄的索引時所要找尋的來源列表。
9.10、FancyIndexing
設定目錄的象征索引列表。
9.11、HeaderNmae
設定插入索引列頂部的文件名。
9.12、IndexIgnore
設定列目錄時需要隱藏的文件。
9.13、IndexOptions
設定進行目錄索引時的選項。
9.14、ReadmeName
設定要附加到索引文件后面的文件名。
10.
mod_cgi
支持CGI。
11.
mod_dir
其唯一的指令是DirectoryIndex,設定當客戶端沒有指定以文件形式結尾的目錄名稱請求該目錄的索引時所要找尋的來源列表。
12.
mod_env
將環(huán)境變量傳遞給CGI或SSI腳本。
12.1、PassEnv
此命令告訴模塊從服務器的環(huán)境中傳遞一個或多個環(huán)境變量到CGI或SSI腳本。
12.2、SetEnv
設置環(huán)境變量,然后傳遞給CGI/SSI腳本。
12.3、UnsetEnv
從傳遞給CGI/SSI腳本的環(huán)境變量中刪除一個或多個環(huán)境變量。
13.
mod_imap
提供圖形映射支持。
14.
mod_include
使支持SSI。
15.
mod_log_config
支持記錄日志。
16.
mod_mime
提供從文件名決定文件了類型的功能。
16.1、AddEncoding
該指令以指定的編碼類型把可能作為文件名結尾的擴展名加入文件擴展名列表。
16.2、AddLanguage
該指令以指定的語言把可能作為文件名結尾的擴展名加入文件擴展名列表。
16.3、AddType
該指令以指定的內容類型把可能作為文件名結尾的擴展名加入文件擴展名列表。
16.4、TypesConfig
指定MIME類型配置文件所在的位置。
17.
mod_negotiation
提供對內容協(xié)商的支持。
18.
mod_setenvif
使你可以創(chuàng)建定制環(huán)境變量。
18.1、BrowserMatch
此命令用來在規(guī)則表達式與模式匹配時設置黃和刪除定制環(huán)境變量。
18.2、BrowserMatchNoCase
在BrowserMatch的功能之外還提供與大小寫無關的匹配。
18.3、SetEnvIf
能夠設置和刪除定制的環(huán)境變量,可用于所有的請求標題字段。
18.4、SetEnvIfNoCase
在SetEnvIf功能之外還提供與大小寫無關的規(guī)則表達式匹配。
19.
mod_unique_id
該模塊為每個請求提供在非常特殊的條件下保證是唯一的標識符。
20.
mod_userdir
該模塊的指令是UserDir,提供代表使用者的目錄。
擴展模塊測試
21.
mod_auth_dbm
支持使用DBM文件存儲基本HTTP認證。
21.1、AuthDbmGroupFile
設定包含代驗證用戶名組列表的文件名。
21.2、AuthDbmUserFile
設定包含代驗證用戶名和密碼列表的文件名。
22.
mod_auth_digest
使用MD5算法來進行用戶的認證工作。使用它時,就不能使用mod_digest模塊。
23.
mod_cern_meta
提供對元信息的支持,元信息可以是HTTP頭標。
23.1、MetaFiles
此命令允許或禁止元標題文件處理。
23.2、MetaDir
此命令用來指定存儲元標題文件的目錄的名稱。
23.3、Metasuffix
此命令為元信息文件指定文件擴展名。
24.
mod_cookies
唯一的指令是CookieLog,用來設定記錄cookies用的文件名。
25.
mod_digest
唯一的指令是AuthDigestFile,用來設定包含用戶名和密碼列表的文本文件的文件名。
26.
mod_dld
該模塊提供在啟動時載入可執(zhí)行文件及模塊到服務器里去的功能。
26.1、LoadFile
該指令在服務器啟動時鏈接其所指的目的文件或程序庫。
26.2、LoadModule
該指令鏈接目的文件或程序庫的文件名并且把所指定的模塊加入到使用中的模塊列表。
27.
mod_example
唯一指令是Example,該指令設置示例模塊的內容句柄顯示的說明標志。
28.
mod_expires
讓你確定服務器在響應請求時如何處理Expires HTTP標題。
28.1、ExpiresActive
禁止或允許Expires標題生成。
28.2、ExpiresByType
指定MIME類型文檔的Expires HTTP標題值。
28.3、ExpiresDefault
為指定的使用范圍內的所有文檔設置缺省的過期時間。
29.
mod_headers
操作HTTP應答標題;提供單獨的名為Header的命令。
30.
mod_info
該模塊對服務器的配置提供了全面的描述,其中包括所有安裝的模塊及其在配置文件中使用的命令;唯一的命令是AddModuleInfo。
31.
mod_log_angent
允許在單獨的日志中存儲用戶代理的信息。
31.1、AgentLog
默認值:AgentLog logs/agent_log
設定服務器記錄及進入請求的文件名。
32.
mod_log_referrer
提供了將請求中Referer頭標寫入日志的功能。
33.
mod_nmap_static
提供經常訪問的不改變的文件的列表。
33.1、MmapFile
該指令在Apache啟動時,將一個或者多個文件映射進內存,Apache關閉時自動刪除映射。
34.
mod_proxy
提供對代理的支持。
34.1、ProxyRequests
默認值:ProxyRequests off
開啟或關閉代理服務。
34.2、ProxyRemote
將自己的代理服務器匹配接口于另一個代理服務器。
34.3、ProxyPass
把一個代理服務器的文檔樹映射到另一個代理服務器的文檔空間。
34.4、ProxyPassReverse
建立反向代理。
34.5、ProxyBlock
屏蔽向某一主機或域發(fā)出的請求。
34.6、NoProxy
在內部網絡環(huán)境下,對ProxyRemote指令產生一些控制,可以指定一個域名、子網、IP地址或主機名,讓ProxyRemote指令所指定的代理服務器不對它們作處理服務。
34.7、ProxyDomain
設定代理服務器的缺省域名。
34.8、ProxyReceiveBufferSize
給所有代理服務器發(fā)出的請求設定了網絡緩沖大小。
34.9、CacheRoot
打開磁盤緩沖功能,必須指定一個目錄,以便代理服務器能夠寫入被緩存的文件。
34.10、CacheSize
默認值:CacheSize 5
指定用作緩存的磁盤空間的大小。
34.11、CacheGcInterval
指定Apache每隔多長時間檢查緩存目錄,刪除過期文件。
34.12、CacheMaxExpire
默認值:CacheMaxExpire 24
指定緩存文檔的過期時間,以小時計。
34.13、CacheLastModifiedFactor
默認值:CacheLastModifiedFactor 0.1
指定了認為文檔過期的時間系數。
34.14、CacheDirLenth
指定緩存文件的路徑下子目錄使用的字符數。
34.15、CacheDirLevels
默認值:CacheDirLevels 3
指定緩存數據文家的子目錄的層數。
34.16、CacheDefaultExpire
默認值:CacheDefaultExpire 1
當不知道文件的最后修改時間,該指令提供了缺省的過期時間,以小時計。
34.17、CacheForceCompletion
默認值:CacheForceCompletion 90
該指令告訴代理服務器,即使請求已經取消,也要續(xù)傳從遠端服務器發(fā)出的文檔。后面的數字表示百分比,也就是文檔的90%已經緩存時就續(xù)傳。
34.18、NoCache
該指令指定了由空格分隔的主機、域名、IP地址的列表,對于列表中的對象不執(zhí)行緩存操作。
35.
mod_rewrite
提供URL重寫功能。
35.1、RewriteEngine
默認值:RewriteEngine off
提供了mod_rewrite模塊內的URL重寫引擎開關。
35.2、RewriteOptions
用指定的選項改變重寫引擎的屬性。
35.3、RewriteRule
定義重寫規(guī)則。
35.4、RewriteCond
給RewriteRule指令定義的重寫規(guī)則添加額外的條件。
35.5、RewriteMap
利用映射圖方便了關鍵字到值的查找。
35.6、RewriteBase
僅當在每一路徑配置文件中使用重寫規(guī)則時才起作用。
35.7、RewriteLog
設定重寫的日志。
35.8、RewriteLoglevel
默認值:RewriteLoglevel 0
指定重寫文件中記錄什么類容,0表示不記錄任何內容。
35.9、RewriteLock
如果想用外部映射程序來生成重寫映射圖,就可以使用該指令指定一個用作同外部映射程序同步通信的鎖定文件。
36.
mod_so
提供在服務器啟動時裝載可執(zhí)行代碼和模塊的功能。
36.1、LoadFile
在服務器啟動時鏈接目標文件或庫,還可以用來加載一些模塊工作時必須的代碼。
36.2、LoadModule
該指令鏈接目標文件或庫,并將模塊添加到活動模塊列表中。
37.
mod_speling
處理含有錯誤拼寫或錯誤大小寫的URL請求。
38.
mod_status
允許管理員通過Web監(jiān)視Apache。
39.
mod_usertrack
該模塊用來產生記錄用戶在一個站點使用cookies活動的“clickstream”日志。
39.1、CookieExpires
該指令設置mod_usertrack模塊生成的cookie的生存時間,以秒計。
39.2、CookieName
默認值:CookieName Apache
讓用戶更改用于跟蹤目的的cookie的名稱。
39.3、CookieTracking
對所有的請求,Apache均發(fā)送一個用戶跟蹤的cookie,該指令可用來在服務器或者目錄的基礎上禁止該行為。
40.
mod_vhost_alias
支持動態(tài)配置批量虛擬主機。
40.1、VirtualDocumentRoot
設置基于服務器名的Apache文檔。
40.2、VirtualDocumentRootIP
除了用IP地址代替主機名以外,其它功能和VirtualDocumentRoot類似。
40.3、VirtaulScriptAlias
該指令告訴Apache在什么地方找到CGI腳本。
40.4、VirtaulScriptAliasIP
除了用IP地址代替主機名以外,其它功能和VirtaulScriptAlias類似。
Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1643508