Apache2的httpd.conf翻译

来源:互联网 发布:9月进出口数据 编辑:程序博客网 时间:2024/04/30 08:52
# 基于 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页上, 
# 例如:admin@your-domain.com 

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页上, 
# 例如:admin@your-domain.com 

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
原创粉丝点击