PHP代碼:-------------------------------------------------------------------------------- # 基于 NCSA 服務的配置文件。 # #這是Apache服務器主要配置文件。 #它包含服務器的影響服務器運行的配置指令。 #參見<URL:<a target="_blank">http://httpd.ache.org/doc-2.0/</a>>以取得關于這些指令的詳細信息 # #不要只是簡單的閱讀這些指令信息而不去理解它。 #這里只是做了簡單的說明,如果你沒有參考在線文件,你就會被警告。 # #這些配置指令被分為下面三個部分: #1. 控制整個Apache服務器行為的部分(即全局環境變量) #2. 定義主要或者默認服務參數的指令,也為所有虛擬主機提供默認的設置參數 #3. 虛擬主機的設置參數 # #配置和日志文件名:如果你指定的文件名以“/”開始(win32下以“dirver:/”), #服務器將使用絕對路徑,如果文件名不是以“/”開始的,那么它將把ServerRoot #的值附加在文件名的前面,例如,對“logs/foo.log",如果ServerRoot的值 #為“/usr/local/apache2”,則該文件應為“/usr/local/apache2/logs/foo.log” # ##第一區:全局環境參數 # #這里設置的參數將影響整個Apache服務器的行為; #例如Apache能夠處理的并發請求的數量等。 # #ServerRoot:指出服務器保存其配置、出錯和日志文件等的根目錄。 # #注意!如果你想要將它指定為NFS或其它網絡上的位置, #請一定要去閱讀與LockFile有關的文檔(可能在 #<URL:<a target="_blank">http://httpd.apache.org/docs-2.0/mo...n.html#lockfile</a>> )。 #這將會使你自己也能解決很多問題。 # #路徑的結尾不要添加斜線。 # ServerRoot "/usr/loacl/apache2"
# #串行訪問的鎖文件必須保存在本地磁盤上 # <IfModule !mpm_winnt.c> <IfModule !mpm_neware.c> #LockFile logs/accept.lock </IfModule> </IfModule>
#ScoreBoardFile:用來保存內部服務進程信息的文件。 #如果未指明(默認),記分板(scoreboard)將被保存在一個匿名的共享內存段中, #并且它不能被第三方軟件所使用。 #如果指定了,要確保不能使用兩個Apache使用同一個記分板文件, #這個記分板文件必須保存在本地磁盤上。 # <IfModule !mpm_netware.c> <IfModule !perchild.c> #ScoreBoardFile logs/apache_runtime_status <IfModule> <IfModule>
# #PidFile:記錄服務器啟動進程號的文件。 # <IfModule !mpm_neware.c> PidFile logs/httpd.pid </IfModule>
# #Timeout:接收和發送前超時秒數 # Timeout 300
# #KeepAlive:是否允許穩固的連接(每個連接有多個請求), #設為"Off"則停用。 # KeepAlive On
# #MaxKeepAliveRequests:在穩固連接期間允許的最大請求數, #設為0表示無限制接入。 #我們推薦你將其設為一個較大的值,以便提高性能 MaxKeepAliveRequests 100
# #KeepAliveTimeout:在同一個連接上從同一臺客戶上接收請求的秒數 # KeepAliveTimeout 15
## ##Server-Pool大小設定(針對MPM的) ##
# prefork MPM # StartServers:啟動時服務器啟動的進程數 # MinSpareServers:保有的備用進程的最小數目 # MaxSpareServers:保有的備用進程的最大數目 # MaxClients:服務器允許啟動的最大進程數 # MaxRequestsPerChild:一個服務進程允許的最大請求數 <IfModule prefork.c> StartServers 5 MinSpareServers 5 MaxSpareServers 10 MaxClients 150 MaxRequestPerChild 0 </IfModule>
# worker MPM # StartServers:服務器啟動時的服務進程數目 # MaxClients:允許同時連接的最大用戶數目 # MinSpareThreads:保有的最小工作線程數目 # MaxSpareThreads:允許保有的最大工作線程數目 # ThreadsPerChild:每個服務進程中的工作線程常數 # MaxRequestsPerChild:服務進程中允許的最大請求數目 <IfModule worker.c> StartServers 2 MaxClients 150 MinSpareThreads 25 MaxSpareThreads 75 ThreadsPerChild 25 MaxRequestsPerChild 0 </IfModule>
# perchild MPM # NumServers:服務進程數量 # StartThreads:每個服務進程中的起始線程數量 # MinSpareThreads:保有的最小線程數量 # MaxSpareThreads:保有的最大線程數量 # MaxThreadsPerChild:每個服務進程允許的最大線程數 # MaxRequestsPerChild:每個服務進程允許連接的最大數量 <IfModule perchild.c> NumServers 5 StartThreads 5 MinSpareThreads 5 MaxSpareThreads 10 MaxThreadsPerChild 20 MaxRequestsPerChild 0 </IfModule>
# WinNT MPM # ThreadsPerChild:服務進程中工作線程常數 # MaxRequestsPerChild:服務進程允許的最大請求數 <IfModule mpm_winnt.c> ThreadsPerChild 250 MaxRequestsPerChild 0 </IfModule>
# BeOS MPM # StartThreads:服務器啟動時啟動的線程數 # MaxClients:可以啟動的最大線程數(一個線程等于一個用戶) # MaxRequestsPerThread:每個線程允許的最大請求數 <IfModule beos.c> StartThreads 10 MaxClients 50 MaxRequestsPerThread 10000 </IfModule>
# NetWare MPM # ThreadStachSize:為每個工作線程分配的堆棧尺寸 # StartThreads:服務器啟動時啟動的線程數 # MinSpareThreads:用于處理實發請求的空閑線程數 # MaxSpareThreads:空閑線程的最大數量 # MaxThreads:在同一時間活動的最大線程數 # MaxRequestPerChild:一個線程服務請求的最大數量, # 推薦將其設置為0,以實現無限制的接入 <IfModule mpm_netware.c> ThreadStackSize 65536 StartThreads 250 MinSpareThreads 25 MaxSpareThreads 250 MaxThreads 1000 MaxRequestPerChild 0 </IfModule>
# OS/2 MPM # StartServers:啟動的服務進程數量 # MinSpareThreads:每個進程允許的最小空閑線程 # MaxSpareThreads:每個進程允許的最大空閑線程 # MaxRequestsPerChild:每個服務進程允許的最大連接數 <IfModule mpmt_os2.c> StartServers 2 MinSpareThreads 5 MaxSpareThreads 10 MaxRequestsPerChild 0 </IfModule>
# # Listen:允許你綁定Apache服務到指定的IP地址和端口上,以取代默認值 # 參見<VirtualHost>指令 # 使用如下命令使Apache只在指定的IP地址上監聽, # 以防止它在IP地址0.0.0.0上監聽 # # Listen 12.34.56.78:80
Listen 80
# # 動態共享支持(DSO) # # 為了能夠使用那些以DSO模式編譯的模塊中的函數,你必須有相應的“LoadModule”行, # 因此,在這里包含了這些指令,以便能在使用它之前激活。 # 那些靜態編譯的模塊不需要在這里列出 (即以“httpd -l”列出的模塊) # # 示例: # LoadModule foo_module modules/mod_foo.so #
# # ExtendedStatus:當調用“server-status”時,控制Apache是產生“全”狀態 # 信息(ExtendedStatus On),還是產生基本信息(ExtendedStatus Off)。 # 默認為off # # ExtendedStatus On
### 第二區:“主”服務配置 # # 這一區建立被 “主” 服務器用的指令值,以回應那些不被 <VirtualHost> # 定義處理的任何請求。 # 這些數值也提供默認值給后面定義的<VirtualHost>容器。 # 如果<VirtualHost>中有定義,那么這里定義的指令值將被 # <VirtualHost>中的定義所覆蓋。 #
<IfModule !mpm_winnt.c> <IfModule !mpm_neware.c> # # 如果你想使httpd以另外的用戶或組來運行,你必須在開始時以root方式啟動 # 然后再將它切換為你想要使用的用戶或組。 # # User/Group:運行httpd的用戶和組 # 在SCO (ODT3)上使用“User nouser”和“Group nogroup” # 在HPUX上,你可能不能以nobody身份使用共享內存,建議創建一個www用戶。 # 注意一些核心(kernel)在組ID大于60000時拒絕setgid(Group)或semctl(IPC_SET), #節在這些系統上不要使用“Group #-1”。 # User nobody Group #-1 </IfModule> </IfModule>
# # ServerAdmin:你的郵件地址,當發生問題時Apache將向你發出郵件。 # 作為一個出錯文檔,這個地址顯示在server-generated頁上, # 例如:admin@your-domain.com # ServerAdmin kreny@sina.com
# # ServerName指定Apache用于識別自身的名字和端口號。 # 通常這個值是自動指定的,但是我們推薦你顯式的指定它以防止啟動時出錯 # # 如果你為你的主機指定了一個無效的DNS名,server-generated重定向將不能工作。 # 參見UseCanonicalName指令 # # 如果你的主機沒有注冊DNS名,在這里鍵入它的IP地址 # 無論如何,你必須使用它的IP地址來提供服務, # 這里使用一種容易理解的方式重定向服務 ServerName <a target="_blank">www.dalouis.com:80</a>
# # UseCanonicalName:決定Apache如何構造URLS和 SERVER_NAME 和 SERVER_PORT 的指令。 # 當設置為 “Off”時,Apache會使用用戶端提供的主機名和端口號。 # 當設置為“On”,Apache會使用ServerName指令的值。 # UseCanonicalName Off
# # DocumentRoot:你的文檔的根目錄。默認情況下,所有的請求從這個目錄進行應答。 # 但是可以使用符號鏈接和別名來指向到其他的位置。 # DocumentRoot "/home/redhat/public_html"
# # Apache可以存取的每個目錄都可以配置存取權限(包括它的子目錄)。 # # 首先,我們配置一個高限制的特征。
# 這將禁止訪問文件系統所在的目錄,并添加你希望允許訪問的目錄塊。 # 如下所示 <Directory /> Order Deny,Allow Deny from all </Directory>
# # 注意從這里開始你一定要明確地允許哪些特別的特征能夠被使用。 # - 所以,如果Apache沒有象你所期待的那樣工作的話, # 請檢查你是否在下面明確的指定它可用。 #
# # 這將改變到你設置的DocumentRoot # <Directory "/home/redhat/public_html">
# # Options:這個指令的值可以是“None”,“All”,或者下列選項的任意組合: # Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews # # 注意,“MultiViews”必須被顯式的指定,“Options All”不能為你提供這個特性。 # # 這個指令既復雜又重要,請參見 #“<a target="_blank">http://httpd.apache.org/docs-2.0/mo...〉酶嗟男畔ⅰ?lt;/a> # Options FollowSymLinks
# # AllowOverride控制那些被放置在.htaccess文件中的指令。 # 它可以是“All”,“None”,或者下列指令的組合: # Options FileInfo AuthConfig Limit # AllowOverride None
# # 控制誰可以獲得服務。 # Order allow,deny Allow from all
</Directory>
# # UserDir:指定在得到一個~user請求時將會添加到用戶home目錄后的目錄名。 #
UserDir public_html
# 為防止在UserDir指令上的漏洞,對root用戶設置 # 象“./”這樣的UserDir是非常有用的。 # 如果你使用Apache 1.3或以上版本,我們強烈建議你 # 在你的服務器配置文件中包含下面的行
UserDir disabled root
# # 下面是一個使用UserDir指令使一個站點的目錄具有只讀屬性的示例: # # <Directory /home/*/public_html> # AllowOverride FileInfo AuthConfig Limit Indexes # Options MultiViews Indexes SymLinksIfOwnerMatch IncludeNoExec # <Limit GET POST OPTIONS PROPFIND> # Order allow,deny # Allow from all # </Limit> # <LimitExcept GET POST OPTIONS PROPFIND> # Order deny,allow # Deny from all # </LimitExcept> # </Directory>
# # DirectoryIndex:定義請求是一個目錄時,Apache向用戶提供服務的文件名 # # index.html.var文件(一個類型映象文件)用于提供一個文檔處理列表, # 出于同樣的目的,也可以使用MultiViews選項,但是它會非常慢。 # DirectoryIndex index.php index.html index.html.var
# # AccessFileName:在每個目錄中查詢為目錄提供附加配置指令的文件的文件名。 # 參見AllowOverride指令。 # AccessFileName .htaccess
# # 下面的行防止.htaccess和.htpasswd文件被Web客戶查看。 # <Files ~ "^.ht"> Order allow,deny Deny from all </Files>
# # Typeconfig:定義在哪里查詢mime.types文件。 # TypeConfig conf/mime.types
# # DefaultType:定義當不能確定MIME類型時服務器提供的默認MIME類型。 # 如果你的服務主要包含text或HTML文檔,“text/plain”是一個好的選擇; # 如果大多是二進制文檔,諸如軟件或圖像,你應使用 # “application/octer-stream”來防止瀏覽器象顯示文本那樣顯示二進制文件。 # DefaultType text/plain
# # mod_mime_magic允許服務器從自己定義自己類型的文件中使用不同的線索(hints), # 這個MIMEMagicFile指令定義hints定義所在的文件。 # <IfModule mod_mime_magic.c> MIMEMagicFile conf/magic </IfModule>
# # HostnameLookups:指定記錄用戶端的名字還是IP地址,例如,本指令為on時 # 記錄主機名,如<a target="_blank">www.apache.org;為off時記錄IP地址,204.62.129.132。</a> # 默認值為off,這要比設為on好得多,因為如果設為on則每個用戶端請求都將會 # 至少造成對 nameserver 進行一次查詢。 # HostnameLookups Off
# # EnableMMAP:控制是否進行內存轉儲(如果操作系統支持的話)。 # 默認為on,如果你的服務器安裝在網絡文件系統上(NFS),請關閉它。 # 在一些系統上,關閉它會提升系統性能(與文件系統類型無關); # 具體情況請參閱<a target="_blank">http://httpd.apache.org/docs-2.0/mo...html#enablemmap</a> # # EnableMMAP off
# # EnableSendfile:控制是否使用sendfile kernel支持發送文件 # (如果操作系統支持的話)。默認為on,如果你的服務器安裝在網絡文件系統 # (NFS)上,請你關閉它。 # 參見<a target="_blank">http://httpd.apache.org/docs-2.0/mo...#enablesendfile</a> # # EnableSendfile off
# # ErrorLog:錯誤日志文件定位。 # 如果你沒有在<VirtualHost>內定義ErrorLog指令,這個虛擬主機的錯誤信息 # 將記錄在這里。如果你在那兒定義了ErrorLog,這些錯誤信息將記錄在你所 # 定義的文件里,而不是這兒定義的文件。 # ErrorLog logs/error_log
# # LogLevel:控制記錄在錯誤日志文件中的日志信息數量。 # 可能的值包括:debug,info,notice,warn,error,crit,alert,emerg。 # LogLevel warn
# # 下面的指令為CustomLog指令定義格式別名。 # LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined LogFormat "%h %l %u %t \"%r\" %>s %b" common LogFormat "%{Referer}i -> %U" referer LogFormat "%{User-agent}i" agent
# 你需要安裝了mod_logio.c模塊才能使用%I和%O。 # LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio
# # 指定接入日志文件的定位和格式(一般日志格式)。 # 如果你沒有在<VirtualHost>內定義這個指令,傳輸信息將記錄在這里, # 如果你定義了這個指令,則記錄在你指定的位置,而不是這兒定義的位置。 # CustomLog logs/access_log common
# # 如果你想要記錄agent和referer信息,可以使用下面的指令 # # CustomLog logs/referer_log referer # CustomLog logs/agent_log agent
# # 如果你想要使用一個文件記錄access,agent和referer信息, # 你可以如下定義這個指令: # # CustomLog logs/access_log combined
# # ServerTokens # 這個指令定義包含在HTTP回應頭中的信息類型。默認為“Full”, # 這表示在回應頭中將包含模塊中的操作系統類型和編譯信息。 # 可以設為列各值中的一個: # Full | OS | Minor | Minimal | Major | Prod # Full傳達的信息最多,而Prod最少。 # ServerTokens Full
# # 隨意的添加包含服務器版本和虛擬主機名字一行信息到server-generated輸出頁中 # (內部錯誤文檔,FTP目錄列表,mod_status和mod_info輸出等等,除了CGI錯誤 # 或自定義的錯誤文檔以外)。 # 設為“EMail”將包含一個指向ServerAdmin的mailto:連接。 # 可以為如下值:On | Off | EMail # ServerSignature On
# # Aliases:在這時添加你需要的別名,格式如下: # Alias 別名 真實名 # # 注意,如果你在別名的未尾包含了“/”,那么在URL中也需要包含“/”。 # 因此,“/icons”不是這個示例中的別名。 # 如果別名中以“/”結尾,那么真實名也必須以“/”結尾, # 如果別名中省略了結尾的“/”,那么真實名也必須省略。 # # 我們使用別名“/icons/”來表示FancyIndexed目錄列表,如果你不使用、 # FancyIndexing,你可以注釋掉它。 # # Alias /icons/ "/usr/local/apache2/icons/"
# <Directory "/usr/local/apache2/icons"> # Options Indexes MultiViews # AllowOverride None # Order allow,deny ## Allow from all # </Directory>
# # 這將改變ServerRoot/manual。這個別名提供了手冊頁所在的位置, # 即使你改變了你的DocumentRoot。如果你對有無手冊頁并不在意的話, # 你可以注釋掉它。 # Alias /manual "/usr/loacl/apache2/manual"
<Directory "/usr/local/apache2/manual"> Options Indexes FollowSymLinks MultiViews IncludesNoExec AddOutputFilter Includes html Order allow,deny Allow from all </Directory>
# # ScriptAlias:指定包含服務腳本的目錄。 # ScriptAliases 本質上與Aliases一樣,除了這里的文檔在請求時做為程序處理處理以外。 # 尾部的“/”規則與Alias一樣 # ScriptAlias /cgi-bin/ "/usr/loacl/apache2/cgi-bin/"
# 這里是添加php 4支持的指令 AddType application/x-httpd-php .php LoadModule php4_module modules/libphp4.so
<IfModule mod_cgid.c> # # 添加mod_cgid.c設置,mod_cgid提供使用cgid進行通訊的UNIX套接字的 # 腳本接口路徑。 # # Scriptsock logs/cgisock </IfModule>
# # 將"/usr/local/apache2/cgi-bin"改為你的ScriptAliased指定的CGI目錄, # 如果你配置了的話。 # <Directory "/usr/local/apache2/cgi-bin"> AllowOverride None Options None Order allow,deny Allow from all </Directory>
# # Redirect允許你告訴客戶端使用存在于服務器名字空間中的文檔, # 而不是現在的,這幫助客戶定位那些改變了位置的文檔。 # 例如: # Redirect permanent /foo <a target="_blank">http://www.example.com/bar</a>
# # 控制server-generated目錄列表顯示的指令 #
# # IndexOptions:控制server-generated目錄列表顯示特征。 # IndexOptions FancyIndexing VersionSort
# # AddIcon* 指令告訴服務器不同擴展名的圖象文件如何顯示, # 只適用于FancyIndexed指令 # AddIconByEncoding (CMP,/icons/compressed.gif) x-compress x-gzip AddIconByType (TXT,/icons/text.gif) text
# 基于 NCSA 服務的配置文件。 # #這是Apache服務器主要配置文件。 #它包含服務器的影響服務器運行的配置指令。 #參見<URL:<a target="_blank">http://httpd.ache.org/doc-2.0/</a>>以取得關于這些指令的詳細信息 # #不要只是簡單的閱讀這些指令信息而不去理解它。 #這里只是做了簡單的說明,如果你沒有參考在線文件,你就會被警告。 # #這些配置指令被分為下面三個部分: #1. 控制整個Apache服務器行為的部分(即全局環境變量) #2. 定義主要或者默認服務參數的指令,也為所有虛擬主機提供默認的設置參數 #3. 虛擬主機的設置參數 # #配置和日志文件名:如果你指定的文件名以“/”開始(win32下以“dirver:/”), #服務器將使用絕對路徑,如果文件名不是以“/”開始的,那么它將把ServerRoot #的值附加在文件名的前面,例如,對“logs/foo.log",如果ServerRoot的值 #為“/usr/local/apache2”,則該文件應為“/usr/local/apache2/logs/foo.log” # ##第一區:全局環境參數 # #這里設置的參數將影響整個Apache服務器的行為; #例如Apache能夠處理的并發請求的數量等。 # #ServerRoot:指出服務器保存其配置、出錯和日志文件等的根目錄。 # #注意!如果你想要將它指定為NFS或其它網絡上的位置, #請一定要去閱讀與LockFile有關的文檔(可能在 #<URL:<a target="_blank">http://httpd.apache.org/docs-2.0/mo...n.html#lockfile</a>> )。 #這將會使你自己也能解決很多問題。 # #路徑的結尾不要添加斜線。 # ServerRoot "/usr/loacl/apache2"
# #串行訪問的鎖文件必須保存在本地磁盤上 # <IfModule !mpm_winnt.c> <IfModule !mpm_neware.c> #LockFile logs/accept.lock </IfModule> </IfModule>
#ScoreBoardFile:用來保存內部服務進程信息的文件。 #如果未指明(默認),記分板(scoreboard)將被保存在一個匿名的共享內存段中, #并且它不能被第三方軟件所使用。 #如果指定了,要確保不能使用兩個Apache使用同一個記分板文件, #這個記分板文件必須保存在本地磁盤上。 # <IfModule !mpm_netware.c> <IfModule !perchild.c> #ScoreBoardFile logs/apache_runtime_status <IfModule> <IfModule>
# #PidFile:記錄服務器啟動進程號的文件。 # <IfModule !mpm_neware.c> PidFile logs/httpd.pid </IfModule>
# #Timeout:接收和發送前超時秒數 # Timeout 300
# #KeepAlive:是否允許穩固的連接(每個連接有多個請求), #設為"Off"則停用。 # KeepAlive On
# #MaxKeepAliveRequests:在穩固連接期間允許的最大請求數, #設為0表示無限制接入。 #我們推薦你將其設為一個較大的值,以便提高性能 MaxKeepAliveRequests 100
# #KeepAliveTimeout:在同一個連接上從同一臺客戶上接收請求的秒數 # KeepAliveTimeout 15
## ##Server-Pool大小設定(針對MPM的) ##
# prefork MPM # StartServers:啟動時服務器啟動的進程數 # MinSpareServers:保有的備用進程的最小數目 # MaxSpareServers:保有的備用進程的最大數目 # MaxClients:服務器允許啟動的最大進程數 # MaxRequestsPerChild:一個服務進程允許的最大請求數 <IfModule prefork.c> StartServers 5 MinSpareServers 5 MaxSpareServers 10 MaxClients 150 MaxRequestPerChild 0 </IfModule>
# worker MPM # StartServers:服務器啟動時的服務進程數目 # MaxClients:允許同時連接的最大用戶數目 # MinSpareThreads:保有的最小工作線程數目 # MaxSpareThreads:允許保有的最大工作線程數目 # ThreadsPerChild:每個服務進程中的工作線程常數 # MaxRequestsPerChild:服務進程中允許的最大請求數目 <IfModule worker.c> StartServers 2 MaxClients 150 MinSpareThreads 25 MaxSpareThreads 75 ThreadsPerChild 25 MaxRequestsPerChild 0 </IfModule>
# perchild MPM # NumServers:服務進程數量 # StartThreads:每個服務進程中的起始線程數量 # MinSpareThreads:保有的最小線程數量 # MaxSpareThreads:保有的最大線程數量 # MaxThreadsPerChild:每個服務進程允許的最大線程數 # MaxRequestsPerChild:每個服務進程允許連接的最大數量 <IfModule perchild.c> NumServers 5 StartThreads 5 MinSpareThreads 5 MaxSpareThreads 10 MaxThreadsPerChild 20 MaxRequestsPerChild 0 </IfModule>
# WinNT MPM # ThreadsPerChild:服務進程中工作線程常數 # MaxRequestsPerChild:服務進程允許的最大請求數 <IfModule mpm_winnt.c> ThreadsPerChild 250 MaxRequestsPerChild 0 </IfModule>
# BeOS MPM # StartThreads:服務器啟動時啟動的線程數 # MaxClients:可以啟動的最大線程數(一個線程等于一個用戶) # MaxRequestsPerThread:每個線程允許的最大請求數 <IfModule beos.c> StartThreads 10 MaxClients 50 MaxRequestsPerThread 10000 </IfModule>
# NetWare MPM # ThreadStachSize:為每個工作線程分配的堆棧尺寸 # StartThreads:服務器啟動時啟動的線程數 # MinSpareThreads:用于處理實發請求的空閑線程數 # MaxSpareThreads:空閑線程的最大數量 # MaxThreads:在同一時間活動的最大線程數 # MaxRequestPerChild:一個線程服務請求的最大數量, # 推薦將其設置為0,以實現無限制的接入 <IfModule mpm_netware.c> ThreadStackSize 65536 StartThreads 250 MinSpareThreads 25 MaxSpareThreads 250 MaxThreads 1000 MaxRequestPerChild 0 </IfModule>
# OS/2 MPM # StartServers:啟動的服務進程數量 # MinSpareThreads:每個進程允許的最小空閑線程 # MaxSpareThreads:每個進程允許的最大空閑線程 # MaxRequestsPerChild:每個服務進程允許的最大連接數 <IfModule mpmt_os2.c> StartServers 2 MinSpareThreads 5 MaxSpareThreads 10 MaxRequestsPerChild 0 </IfModule>
# # Listen:允許你綁定Apache服務到指定的IP地址和端口上,以取代默認值 # 參見<VirtualHost>指令 # 使用如下命令使Apache只在指定的IP地址上監聽, # 以防止它在IP地址0.0.0.0上監聽 # # Listen 12.34.56.78:80
Listen 80
# # 動態共享支持(DSO) # # 為了能夠使用那些以DSO模式編譯的模塊中的函數,你必須有相應的“LoadModule”行, # 因此,在這里包含了這些指令,以便能在使用它之前激活。 # 那些靜態編譯的模塊不需要在這里列出 (即以“httpd -l”列出的模塊) # # 示例: # LoadModule foo_module modules/mod_foo.so #
# # ExtendedStatus:當調用“server-status”時,控制Apache是產生“全”狀態 # 信息(ExtendedStatus On),還是產生基本信息(ExtendedStatus Off)。 # 默認為off # # ExtendedStatus On
### 第二區:“主”服務配置 # # 這一區建立被 “主” 服務器用的指令值,以回應那些不被 <VirtualHost> # 定義處理的任何請求。 # 這些數值也提供默認值給后面定義的<VirtualHost>容器。 # 如果<VirtualHost>中有定義,那么這里定義的指令值將被 # <VirtualHost>中的定義所覆蓋。 #
<IfModule !mpm_winnt.c> <IfModule !mpm_neware.c> # # 如果你想使httpd以另外的用戶或組來運行,你必須在開始時以root方式啟動 # 然后再將它切換為你想要使用的用戶或組。 # # User/Group:運行httpd的用戶和組 # 在SCO (ODT3)上使用“User nouser”和“Group nogroup” # 在HPUX上,你可能不能以nobody身份使用共享內存,建議創建一個www用戶。 # 注意一些核心(kernel)在組ID大于60000時拒絕setgid(Group)或semctl(IPC_SET), #節在這些系統上不要使用“Group #-1”。 # User nobody Group #-1 </IfModule> </IfModule>
# # ServerAdmin:你的郵件地址,當發生問題時Apache將向你發出郵件。 # 作為一個出錯文檔,這個地址顯示在server-generated頁上, # 例如:admin@your-domain.com # ServerAdmin kreny@sina.com
# # ServerName指定Apache用于識別自身的名字和端口號。 # 通常這個值是自動指定的,但是我們推薦你顯式的指定它以防止啟動時出錯 # # 如果你為你的主機指定了一個無效的DNS名,server-generated重定向將不能工作。 # 參見UseCanonicalName指令 # # 如果你的主機沒有注冊DNS名,在這里鍵入它的IP地址 # 無論如何,你必須使用它的IP地址來提供服務, # 這里使用一種容易理解的方式重定向服務 ServerName <a target="_blank">www.dalouis.com:80</a>
# # UseCanonicalName:決定Apache如何構造URLS和 SERVER_NAME 和 SERVER_PORT 的指令。 # 當設置為 “Off”時,Apache會使用用戶端提供的主機名和端口號。 # 當設置為“On”,Apache會使用ServerName指令的值。 # UseCanonicalName Off
# # DocumentRoot:你的文檔的根目錄。默認情況下,所有的請求從這個目錄進行應答。 # 但是可以使用符號鏈接和別名來指向到其他的位置。 # DocumentRoot "/home/redhat/public_html"
# # Apache可以存取的每個目錄都可以配置存取權限(包括它的子目錄)。 # # 首先,我們配置一個高限制的特征。
# 這將禁止訪問文件系統所在的目錄,并添加你希望允許訪問的目錄塊。 # 如下所示 <Directory /> Order Deny,Allow Deny from all </Directory>
# # 注意從這里開始你一定要明確地允許哪些特別的特征能夠被使用。 # - 所以,如果Apache沒有象你所期待的那樣工作的話, # 請檢查你是否在下面明確的指定它可用。 #
# # 這將改變到你設置的DocumentRoot # <Directory "/home/redhat/public_html">
# # Options:這個指令的值可以是“None”,“All”,或者下列選項的任意組合: # Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews # # 注意,“MultiViews”必須被顯式的指定,“Options All”不能為你提供這個特性。 # # 這個指令既復雜又重要,請參見 #“<a target="_blank">http://httpd.apache.org/docs-2.0/mo...〉酶嗟男畔ⅰ?lt;/a> # Options FollowSymLinks
# # AllowOverride控制那些被放置在.htaccess文件中的指令。 # 它可以是“All”,“None”,或者下列指令的組合: # Options FileInfo AuthConfig Limit # AllowOverride None
# # 控制誰可以獲得服務。 # Order allow,deny Allow from all
</Directory>
# # UserDir:指定在得到一個~user請求時將會添加到用戶home目錄后的目錄名。 #
UserDir public_html
# 為防止在UserDir指令上的漏洞,對root用戶設置 # 象“./”這樣的UserDir是非常有用的。 # 如果你使用Apache 1.3或以上版本,我們強烈建議你 # 在你的服務器配置文件中包含下面的行
UserDir disabled root
# # 下面是一個使用UserDir指令使一個站點的目錄具有只讀屬性的示例: # # <Directory /home/*/public_html> # AllowOverride FileInfo AuthConfig Limit Indexes # Options MultiViews Indexes SymLinksIfOwnerMatch IncludeNoExec # <Limit GET POST OPTIONS PROPFIND> # Order allow,deny # Allow from all # </Limit> # <LimitExcept GET POST OPTIONS PROPFIND> # Order deny,allow # Deny from all # </LimitExcept> # </Directory>
# # DirectoryIndex:定義請求是一個目錄時,Apache向用戶提供服務的文件名 # # index.html.var文件(一個類型映象文件)用于提供一個文檔處理列表, # 出于同樣的目的,也可以使用MultiViews選項,但是它會非常慢。 # DirectoryIndex index.php index.html index.html.var
# # AccessFileName:在每個目錄中查詢為目錄提供附加配置指令的文件的文件名。 # 參見AllowOverride指令。 # AccessFileName .htaccess
# # 下面的行防止.htaccess和.htpasswd文件被Web客戶查看。 # <Files ~ "^.ht"> Order allow,deny Deny from all </Files>
# # Typeconfig:定義在哪里查詢mime.types文件。 # TypeConfig conf/mime.types
# # DefaultType:定義當不能確定MIME類型時服務器提供的默認MIME類型。 # 如果你的服務主要包含text或HTML文檔,“text/plain”是一個好的選擇; # 如果大多是二進制文檔,諸如軟件或圖像,你應使用 # “application/octer-stream”來防止瀏覽器象顯示文本那樣顯示二進制文件。 # DefaultType text/plain
# # mod_mime_magic允許服務器從自己定義自己類型的文件中使用不同的線索(hints), # 這個MIMEMagicFile指令定義hints定義所在的文件。 # <IfModule mod_mime_magic.c> MIMEMagicFile conf/magic </IfModule>
# # HostnameLookups:指定記錄用戶端的名字還是IP地址,例如,本指令為on時 # 記錄主機名,如<a target="_blank">www.apache.org;為off時記錄IP地址,204.62.129.132。</a> # 默認值為off,這要比設為on好得多,因為如果設為on則每個用戶端請求都將會 # 至少造成對 nameserver 進行一次查詢。 # HostnameLookups Off
# # EnableMMAP:控制是否進行內存轉儲(如果操作系統支持的話)。 # 默認為on,如果你的服務器安裝在網絡文件系統上(NFS),請關閉它。 # 在一些系統上,關閉它會提升系統性能(與文件系統類型無關); # 具體情況請參閱<a target="_blank">http://httpd.apache.org/docs-2.0/mo...html#enablemmap</a> # # EnableMMAP off
# # EnableSendfile:控制是否使用sendfile kernel支持發送文件 # (如果操作系統支持的話)。默認為on,如果你的服務器安裝在網絡文件系統 # (NFS)上,請你關閉它。 # 參見<a target="_blank">http://httpd.apache.org/docs-2.0/mo...#enablesendfile</a> # # EnableSendfile off
# # ErrorLog:錯誤日志文件定位。 # 如果你沒有在<VirtualHost>內定義ErrorLog指令,這個虛擬主機的錯誤信息 # 將記錄在這里。如果你在那兒定義了ErrorLog,這些錯誤信息將記錄在你所 # 定義的文件里,而不是這兒定義的文件。 # ErrorLog logs/error_log
# # LogLevel:控制記錄在錯誤日志文件中的日志信息數量。 # 可能的值包括:debug,info,notice,warn,error,crit,alert,emerg。 # LogLevel warn
# # 下面的指令為CustomLog指令定義格式別名。 # LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined LogFormat "%h %l %u %t \"%r\" %>s %b" common LogFormat "%{Referer}i -> %U" referer LogFormat "%{User-agent}i" agent
# 你需要安裝了mod_logio.c模塊才能使用%I和%O。 # LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio
# # 指定接入日志文件的定位和格式(一般日志格式)。 # 如果你沒有在<VirtualHost>內定義這個指令,傳輸信息將記錄在這里, # 如果你定義了這個指令,則記錄在你指定的位置,而不是這兒定義的位置。 # CustomLog logs/access_log common
# # 如果你想要記錄agent和referer信息,可以使用下面的指令 # # CustomLog logs/referer_log referer # CustomLog logs/agent_log agent
# # 如果你想要使用一個文件記錄access,agent和referer信息, # 你可以如下定義這個指令: # # CustomLog logs/access_log combined
# # ServerTokens # 這個指令定義包含在HTTP回應頭中的信息類型。默認為“Full”, # 這表示在回應頭中將包含模塊中的操作系統類型和編譯信息。 # 可以設為列各值中的一個: # Full | OS | Minor | Minimal | Major | Prod # Full傳達的信息最多,而Prod最少。 # ServerTokens Full
# # 隨意的添加包含服務器版本和虛擬主機名字一行信息到server-generated輸出頁中 # (內部錯誤文檔,FTP目錄列表,mod_status和mod_info輸出等等,除了CGI錯誤 # 或自定義的錯誤文檔以外)。 # 設為“EMail”將包含一個指向ServerAdmin的mailto:連接。 # 可以為如下值:On | Off | EMail # ServerSignature On
# # Aliases:在這時添加你需要的別名,格式如下: # Alias 別名 真實名 # # 注意,如果你在別名的未尾包含了“/”,那么在URL中也需要包含“/”。 # 因此,“/icons”不是這個示例中的別名。 # 如果別名中以“/”結尾,那么真實名也必須以“/”結尾, # 如果別名中省略了結尾的“/”,那么真實名也必須省略。 # # 我們使用別名“/icons/”來表示FancyIndexed目錄列表,如果你不使用、 # FancyIndexing,你可以注釋掉它。 # # Alias /icons/ "/usr/local/apache2/icons/"
# <Directory "/usr/local/apache2/icons"> # Options Indexes MultiViews # AllowOverride None # Order allow,deny ## Allow from all # </Directory>
# # 這將改變ServerRoot/manual。這個別名提供了手冊頁所在的位置, # 即使你改變了你的DocumentRoot。如果你對有無手冊頁并不在意的話, # 你可以注釋掉它。 # Alias /manual "/usr/loacl/apache2/manual"
<Directory "/usr/local/apache2/manual"> Options Indexes FollowSymLinks MultiViews IncludesNoExec AddOutputFilter Includes html Order allow,deny Allow from all </Directory>
# # ScriptAlias:指定包含服務腳本的目錄。 # ScriptAliases 本質上與Aliases一樣,除了這里的文檔在請求時做為程序處理處理以外。 # 尾部的“/”規則與Alias一樣 # ScriptAlias /cgi-bin/ "/usr/loacl/apache2/cgi-bin/"
# 這里是添加php 4支持的指令 AddType application/x-httpd-php .php LoadModule php4_module modules/libphp4.so
<IfModule mod_cgid.c> # # 添加mod_cgid.c設置,mod_cgid提供使用cgid進行通訊的UNIX套接字的 # 腳本接口路徑。 # # Scriptsock logs/cgisock </IfModule>
# # 將"/usr/local/apache2/cgi-bin"改為你的ScriptAliased指定的CGI目錄, # 如果你配置了的話。 # <Directory "/usr/local/apache2/cgi-bin"> AllowOverride None Options None Order allow,deny Allow from all </Directory>
# # Redirect允許你告訴客戶端使用存在于服務器名字空間中的文檔, # 而不是現在的,這幫助客戶定位那些改變了位置的文檔。 # 例如: # Redirect permanent /foo <a target="_blank">http://www.example.com/bar</a>
# # 控制server-generated目錄列表顯示的指令 #
# # IndexOptions:控制server-generated目錄列表顯示特征。 # IndexOptions FancyIndexing VersionSort
# # AddIcon* 指令告訴服務器不同擴展名的圖象文件如何顯示, # 只適用于FancyIndexed指令 # AddIconByEncoding (CMP,/icons/compressed.gif) x-compress x-gzip AddIconByType (TXT,/icons/text.gif) text (出處:Viphot)
|