APACHE

# 基於 NCSA 服務的配置文件。

#

#這是Apache服務器主要配置文件。
#它包含服務器的影響服務器運行的配置指令。

#參見<URL:<a href="http://httpd.ache.org/doc-2.0/" 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 href="http://httpd.apache.org/docs-2.0/mod/mpm_common.html#lockfile" 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頁上,

# 例如:[email protected]

#

ServerAdmin [email]kreny@sina.com[/email]



#

# ServerName指定Apache用於識別自身的名字和端口號。

# 通常這個值是自動指定的,但是我們推薦你顯式的指定它以防止啓動時出錯

#

# 如果你爲你的主機指定了一個無效的DNS名,server-generated重定向將不能工作。

# 參見UseCanonicalName指令

#

# 如果你的主機沒有註冊DNS名,在這裏鍵入它的IP地址

# 無論如何,你必須使用它的IP地址來提供服務,

# 這裏使用一種容易理解的方式重定向服務

ServerName <a href="http://www.dalouis.com:80" 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 href="http://httpd.apache.org/docs-2.0/mod/core.html#optioins”以取得更多的信息。" 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 href="http://www.apache.org;爲off時記錄IP地址,204.62.129.132。" target="_blank">www.apache.org;爲off時記錄IP地址,204.62.129.132。</a>

# 默認值爲off,這要比設爲on好得多,因爲如果設爲on則每個用戶端請求都將會

# 至少造成對 nameserver 進行一次查詢。

#

HostnameLookups Off



#

# EnableMMAP:控制是否進行內存轉儲(如果操作系統支持的話)。

# 默認爲on,如果你的服務器安裝在網絡文件系統上(NFS),請關閉它。

# 在一些系統上,關閉它會提升系統性能(與文件系統類型無關);

# 具體情況請參閱<a href="http://httpd.apache.org/docs-2.0/mod/core.html#enablemmap" target="_blank">http://httpd.apache.org/docs-2.0/mo...html#enablemmap</a>

#

# EnableMMAP off



#

# EnableSendfile:控制是否使用sendfile kernel支持發送文件

# (如果操作系統支持的話)。默認爲on,如果你的服務器安裝在網絡文件系統

# (NFS)上,請你關閉它。

# 參見<a href="http://httpd.apache.org/docs-2.0/mod/core.html#enablesendfile" 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 href="http://www.example.com/bar" 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 href="http://httpd.ache.org/doc-2.0/" 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 href="http://httpd.apache.org/docs-2.0/mod/mpm_common.html#lockfile" 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頁上,

# 例如:[email protected]

#

ServerAdmin [email]kreny@sina.com[/email]



#

# ServerName指定Apache用於識別自身的名字和端口號。

# 通常這個值是自動指定的,但是我們推薦你顯式的指定它以防止啓動時出錯

#

# 如果你爲你的主機指定了一個無效的DNS名,server-generated重定向將不能工作。

# 參見UseCanonicalName指令

#

# 如果你的主機沒有註冊DNS名,在這裏鍵入它的IP地址

# 無論如何,你必須使用它的IP地址來提供服務,

# 這裏使用一種容易理解的方式重定向服務

ServerName <a href="http://www.dalouis.com:80" 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 href="http://httpd.apache.org/docs-2.0/mod/core.html#optioins”以取得更多的信息。" 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 href="http://www.apache.org;爲off時記錄IP地址,204.62.129.132。" target="_blank">www.apache.org;爲off時記錄IP地址,204.62.129.132。</a>

# 默認值爲off,這要比設爲on好得多,因爲如果設爲on則每個用戶端請求都將會

# 至少造成對 nameserver 進行一次查詢。

#

HostnameLookups Off



#

# EnableMMAP:控制是否進行內存轉儲(如果操作系統支持的話)。

# 默認爲on,如果你的服務器安裝在網絡文件系統上(NFS),請關閉它。

# 在一些系統上,關閉它會提升系統性能(與文件系統類型無關);

# 具體情況請參閱<a href="http://httpd.apache.org/docs-2.0/mod/core.html#enablemmap" target="_blank">http://httpd.apache.org/docs-2.0/mo...html#enablemmap</a>

#

# EnableMMAP off



#

# EnableSendfile:控制是否使用sendfile kernel支持發送文件

# (如果操作系統支持的話)。默認爲on,如果你的服務器安裝在網絡文件系統

# (NFS)上,請你關閉它。

# 參見<a href="http://httpd.apache.org/docs-2.0/mod/core.html#enablesendfile" 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 href="http://www.example.com/bar" 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

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