Apache2的httpd.conf翻译 - 我爱贝贝 - 金东浩官方网站 - welcome to old.bbmy.net

Apache2的httpd.conf翻译 [金东浩官方网站版权所有]

2006年12月31日 | Category: » | by: 贝爸 | 本文包含金东浩Apache2的httpd.conf翻译照片

# 基于 NCSA 服务的配置文件。
#
#这是Apache服务器主要配置文件。
#它包含服务器的影响服务器运行的配置指令。
#
#不要只是简单的阅读这些指令信息而不去理解它。
#这里只是做了简单的说明,如果你没有参考在线文件,你就会被警告。
#

#这些配置指令被分为下面三个部分:

#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 kreny@sina.com



#

# 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 kreny@sina.com



#

# 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>

本文来自 我爱贝贝[www.bbmy.net]-金东浩官方网站,如若转载注明出处。


金东浩博客随机日志
金东浩博客之检查结果
检查结果
金东浩博客之关于胎儿脐带绕脖
关于胎儿脐带绕脖
金东浩博客之担心的事还是发生了《老婆住院故事一》
担心的事还是发生
金东浩博客之生宝宝真是一件不易事《老婆住院故事二》
生宝宝真是一件不
金东浩博客之老婆强烈要求出院《老婆住院故事三》
老婆强烈要求出院
金东浩博客之医生怎么可以这样《老婆住院故事四》
医生怎么可以这样
金东浩博客之一切准备就绪等待宝宝降临
一切准备就绪等待
金东浩博客之掰指头数日子
掰指头数日子
金东浩博客之我被感冒打败了
我被感冒打败了
金东浩博客之手机7x24小时紧急待命中
手机7x24小时
金东浩博客之谁惹宝宝生气了
谁惹宝宝生气了
金东浩博客之做梦
做梦
金东浩博客之宝宝出生前的信号《贝贝降生故事一》
宝宝出生前的信号
金东浩博客之又给国家添杆枪《贝贝降生故事二》
又给国家添杆枪《
金东浩博客之宝宝mtv相册
宝宝mtv相册
金东浩博客之咱不怕累,咱不怕苦,就怕不给咱觉睡
咱不怕累,咱不怕
金东浩博客之老婆通知我要育前教育背三字经
老婆通知我要育前
金东浩博客之我的小宝贝
我的小宝贝

金东浩日记Tags:
金东浩日记评论: 0 | 金东浩日记引用: 0 | 金东浩日记阅读: 2044
发表评论
昵称 [注册]        网址
密码 游客无需密码     电邮
打开HTML 打开UBB 打开表情 隐藏 记住我