文章简介:Apache最新官方配置文件中文版。帮忙web服务器管理员更方便的对Apache进行配置。

#

# Based upon the NCSA server configuration files originally by Rob McCool.

#参照NCSA服务器的配置文件,原版由Rob McCool发布

#

# This is the main Apache server configuration file.  It contains the

# configuration directives that give the server its instructions.

# See <URL:http://httpd.apache.org/docs-2.0/> for detailed information about

# the directives.

#这是Apache server的主配置文件. 它包含配置指令,来指示服务器

#请参考 http://httpd.apache.org/docs-2.0 了解关于指令的详细信息

# Do NOT simply read the instructions in here without understanding

# what they do.  They're here only as hints or reminders.  If you are unsure

# consult the online docs. You have been warned. 

#不要仅仅是阅读本指令,而应该理解指令做了什么。在这里仅起提示的作用。

#如果你不清楚请参阅在线文档。特别提示

# The configuration directives are grouped into three basic sections:

#配置文件批令分为三个基本组

#  1. Directives that control the operation of the Apache server process as a

#     whole (the 'global environment').

#  1. 控制Apache server的全局操作的指令(全局环境变量).

#  2. Directives that define the parameters of the 'main' or 'default' server,

#     which responds to requests that aren't handled by a virtual host.

#     These directives also provide default values for the settings

#     of all virtual hosts.

#  2.配置主服务或者默认服务的指令,它针对那些被虚拟主机以外的请求作出响应.

#    它也包含虚拟主机的一些默认参数

#  3. Settings for virtual hosts, which allow Web requests to be sent to

#     different IP addresses or hostnames and have them handled by the

#     same Apache server process.

#  3. 虚拟主机设置,这使得发往不同的ip或者主机名的请求可以被子同一个Apache服务#     器处理

# Configuration and logfile names: If the filenames you specify for many

# of the server's control files begin with "/" (or "drive:/" for Win32), the

# server will use that explicit path.  If the filenames do *not* begin

# with "/", the value of ServerRoot is prepended -- so "logs/foo.log"

# with ServerRoot set to "C:/Program Files/Apache Group/Apache2" will be interpreted by the

# server as "C:/Program Files/Apache Group/Apache2/logs/foo.log".

#配置和日志文件名:如果你所指定的文件名以”/”(在Win32中以盘符:/)开头,服务器将以绝对路径来处理。如果不以”/”开头,则以相对于ServerRoot不解释,所以对于logs/foo.log来讲,当ServerRoot为"C:/Program Files/Apache Group/Apache2”时,则指的是

C:/Program Files/Apache Group/Apache2/logs/foo.log文件

# NOTE: Where filenames are specified, you must use forward slashes

# instead of backslashes (e.g., "c:/apache" instead of "c:\apache").

注意,在文件名的定义中,必须用正斜杠,而不是反斜杠,如c:/apache而不是c:\apache

# If a drive letter is omitted, the drive on which Apache.exe is located

# will be used by default.  It is recommended that you always supply

# an explicit drive letter in absolute paths, however, to avoid

# confusion.

#如果省略了盘符,则以Apache.exe所在的盘符为默认值

建议在绝对路径中永远使用显式的盘符,这样有助于消除误解

 

### Section 1: Global Environment

#第一部分全局环境

#

# The directives in this section affect the overall operation of Apache,

# such as the number of concurrent requests it can handle or where it

# can find its configuration files.

#本部分的指令将影响整个Apache服务器,例如它所能处理的并发请求数或者它在哪里能够找到其配置文件

 

#

# ServerRoot: The top of the directory tree under which the server's

# configuration, error, and log files are kept.

# ServerRoot: 服务器的配置,错误和日志文件的根目录

# NOTE!  If you intend to place this on an NFS (or otherwise network)

# mounted filesystem then please read the LockFile documentation (available

# at <URL:http://httpd.apache.org/docs-2.0/mod/mpm_common.html#lockfile>);

# you will save yourself a lot of trouble.

#注意:如果将其保存到NFS上或者网络上mounted的文件系统上,然后应该阅读LockFile文档,http://httpd.apache.org/docs-2.0/mod/mpm_common.html#lockfile,将能解决你的很多麻烦.

# Do NOT add a slash at the end of the directory path.

#不要在目录的末尾加上斜杠

ServerRoot "C:/Program Files/Apache Group/Apache2"

ServerRoot:根目录

#

# ScoreBoardFile: File used to store internal server process information.

# If unspecified (the default), the scoreboard will be stored in an

# anonymous shared memory segment, and will be unavailable to third-party

# applications.

ScoreBoardFile: 保存服务器内部的处理信息

如果未定议(默认状态),scoreboard将被保存在匿名的共享内存段中,并且对于第三方来讲,是不可获得的

# If specified, ensure that no two invocations of Apache share the same

# scoreboard file. The scoreboard file MUST BE STORED ON A LOCAL DISK.

#如果已定义,应确保Apache的两个调用不能共享同一个scoreboard. Scoreboard文件必须存放在可分配的磁盘上

#ScoreBoardFile logs/apache_runtime_status

 

#

# PidFile: The file in which the server should record its process

# identification number when it starts.

#PidFile:当服务器起努时,服务器需要将其进程ID号存放在此文件中

PidFile logs/httpd.pid

 

#

# Timeout: The number of seconds before receives and sends time out.

#Timeout:接收和发送数据的超时设置,秒数

Timeout 300

 

#

# KeepAlive: Whether or not to allow persistent connections (more than

# one request per connection). Set to "Off" to deactivate.

#KeepAlive: 是否支持持久联接(而不是每个请求建一个连接),设off关闭此功能

KeepAlive On

 

#

# MaxKeepAliveRequests: The maximum number of requests to allow

# during a persistent connection. Set to 0 to allow an unlimited amount.

# We recommend you leave this number high, for maximum performance.

#MaxKeepAliveRequests:在持久连接期间,所允许的最大请求数量。设为0表示不作限制

建议设为较高的数,以提高性能

MaxKeepAliveRequests 100

 

#

# KeepAliveTimeout: Number of seconds to wait for the next request from the

# same client on the same connection.

#KeepAliveTimeout:在同一个客户连接中,等待下一个请求的等待时间。

KeepAliveTimeout 15

 

##

## Server-Pool Size Regulation (MPM specific)

## 常规Server-Pool服务器池的大小(每分钟M数)

 

# WinNT MPM WinNT 的MPM

# ThreadsPerChild: constant number of worker threads in the server process

ThreadPerChild:服务器进程中工作的线程数量

# MaxRequestsPerChild: maximum  number of requests a server process serves

每个服务进程的最大请求数

<IfModule mpm_winnt.c>

ThreadsPerChild 250

MaxRequestsPerChild  0

</IfModule>

 

#

# Listen: Allows you to bind Apache to specific IP addresses and/or

# ports, instead of the default. See also the <VirtualHost>

# directive.

#Listen:允许你将Apache绑定到指定的IP地址或端口,而不是默认端口,请同时参考<VirtualHost>指令

# Change this to Listen on specific IP addresses as shown below to

# prevent Apache from glomming onto all bound IP addresses (0.0.0.0)

#像下面那样指定侦听的IP地址,防止Apache抢占所有绑定的IP地址

#Listen 12.34.56.78:80

Listen 80

 

#

# Dynamic Shared Object (DSO) Support

#动态共享对象支持DSO

# To be able to use the functionality of a module which was built as a DSO you

# have to place corresponding `LoadModule' lines at this location so the

# directives contained in it are actually available _before_ they are used.

# Statically compiled modules (those listed by `httpd -l') do not need

# to be loaded here.

#为了能够使用模块功能,模块通常以DSO的方式构建,你应该在下面使用LoadModule行,使得能够在使用前获得指令的功能。静态编译模块(在httpd-1中所列举的)不需要在此装载

# Example:

# LoadModule foo_module modules/mod_foo.so

#

LoadModule access_module modules/mod_access.so

LoadModule actions_module modules/mod_actions.so

LoadModule alias_module modules/mod_alias.so

LoadModule asis_module modules/mod_asis.so

LoadModule auth_module modules/mod_auth.so

#LoadModule auth_anon_module modules/mod_auth_anon.so

#LoadModule auth_dbm_module modules/mod_auth_dbm.so

#LoadModule auth_digest_module modules/mod_auth_digest.so

LoadModule autoindex_module modules/mod_autoindex.so

#LoadModule cern_meta_module modules/mod_cern_meta.so

LoadModule cgi_module modules/mod_cgi.so

#LoadModule dav_module modules/mod_dav.so

#LoadModule dav_fs_module modules/mod_dav_fs.so

LoadModule dir_module modules/mod_dir.so

LoadModule env_module modules/mod_env.so

#LoadModule expires_module modules/mod_expires.so

#LoadModule file_cache_module modules/mod_file_cache.so

#LoadModule headers_module modules/mod_headers.so

LoadModule imap_module modules/mod_imap.so

LoadModule include_module modules/mod_include.so

#LoadModule info_module modules/mod_info.so

LoadModule isapi_module modules/mod_isapi.so

LoadModule log_config_module modules/mod_log_config.so

LoadModule mime_module modules/mod_mime.so

#LoadModule mime_magic_module modules/mod_mime_magic.so

#LoadModule proxy_module modules/mod_proxy.so

#LoadModule proxy_connect_module modules/mod_proxy_connect.so

#LoadModule proxy_http_module modules/mod_proxy_http.so

#LoadModule proxy_ftp_module modules/mod_proxy_ftp.so

LoadModule negotiation_module modules/mod_negotiation.so

#LoadModule rewrite_module modules/mod_rewrite.so

LoadModule setenvif_module modules/mod_setenvif.so

#LoadModule speling_module modules/mod_speling.so

#LoadModule status_module modules/mod_status.so

#LoadModule unique_id_module modules/mod_unique_id.so

LoadModule userdir_module modules/mod_userdir.so

#LoadModule usertrack_module modules/mod_usertrack.so

#LoadModule vhost_alias_module modules/mod_vhost_alias.so

#LoadModule ssl_module modules/mod_ssl.so

 

#

# ExtendedStatus controls whether Apache will generate "full" status

# information (ExtendedStatus On) or just basic information (ExtendedStatus

# Off) when the "server-status" handler is called. The default is Off.

#扩展状态控制Apache是否产生完整的状态信息(设为on产生全部),如果设为Off则产生基本的信息,当与server-status头有关,默认值为Off

#ExtendedStatus On

 

### Section 2: 'Main' server configuration

#第二部分:主服务配置

# The directives in this section set up the values used by the 'main'

# server, which responds to any requests that aren't handled by a

# <VirtualHost> definition.  These values also provide defaults for

# any <VirtualHost> containers you may define later in the file.

#本节中指令的设置值,将被主服务所使用,主服务响应那些没有被<VirtualHost>所处理的请求,这些值也为<VirtualHost>容器提供了默认值,你可以在后面的文件中定义

# All of these directives may appear inside <VirtualHost> containers,

# in which case these default settings will be overridden for the

# virtual host being defined.

所有这些指令将出现在<VirtualHost>容器中,这些设定值将在定义virtual host时被覆写。

#

 

#

# ServerAdmin: Your address, where problems with the server should be

# e-mailed.  This address appears on some server-generated pages, such

# as error documents.  e.g. admin@your-domain.com

# ServerAdmin:你的地址,当系统故障时,可以给你发email。此地址出现在那些由服务器生成的页面上,如出错文档。例如:admin@your-domain.com

ServerAdmin webmaster@moers.com

 

#

# ServerName gives the name and port that the server uses to identify itself.

# This can often be determined automatically, but we recommend you specify

# it explicitly to prevent problems during startup.

#ServerNaem定义了server名称和端口号,用以标明自己的身份。通常可以自动定义,建议显式地定义,避免起动时出错

# If this is not set to valid DNS name for your host, server-generated

# redirections will not work.  See also the UseCanonicalName directive.

#如果没有正确定义主机的DNS,服务器产生的重定向将不会工作,同时参考UseCanonicalName指令。

# If your host doesn't have a registered DNS name, enter its IP address here.

# You will have to access it by its address anyway, and this will make

# redirections work in a sensible way.

#如果你没有注册DNS名字,请在这里输入IP地址。

你可以在任何情况下使用ip地址,这也使用得重定向变得敏感

ServerName www.moers.com:80

 

#

# UseCanonicalName: Determines how Apache constructs self-referencing

# URLs and the SERVER_NAME and SERVER_PORT variables.

# When set "Off", Apache will use the Hostname and Port supplied

# by the client.  When set "On", Apache will use the value of the

# ServerName directive.

#UseCanonicalName:决定Apaceh如何构建自定参考URL,和SERVER_NAME及SERVER_PORT变量

当设为Off时,Apache将使用客户端给出的域名和端口。当设为On时,Apache将使用ServerName指令

UseCanonicalName Off

 

#

# DocumentRoot: The directory out of which you will serve your

# documents. By default, all requests are taken from this directory, but

# symbolic links and aliases may be used to point to other locations.

#DocumentRoot:服务器文档放置目录。在默认情形下,所有的请求都从这里开始,除了记号和别名将改指它处以外。

DocumentRoot "C:/Program Files/Apache Group/Apache2/htdocs"

 

#

# Each directory to which Apache has access can be configured with respect

# to which services and features are allowed and/or disabled in that

# directory (and its subdirectories).

#每个可供Apache访问的目录,可以配置成允许或禁止哪些服务和特征(包括其子目录)

# First, we configure the "default" to be a very restrictive set of

# features. 

#首先,我们定义一个默认的非常严格的配置

<Directory />

    Options FollowSymLinks

    AllowOverride None

</Directory>

 

#

# Note that from this point forward you must specifically allow

# particular features to be enabled - so if something's not working as

# you might expect, make sure that you have specifically enabled it

# below.

#注意,从这一点往前,你必须许可某些特殊的功能,所以如果某些功能未能如你所愿,要确保你在在下述中启用了该功能。

 

#

# This should be changed to whatever you set DocumentRoot to.

# 这将改变你对DocumentRoot的设置

<Directory "C:/Program Files/Apache Group/Apache2/htdocs">

 

#

# Possible values for the Options directive are "None", "All",

# or any combination of:

可能的值为None,All或者任意组合

#   Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews

# 索引包括FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews

# Note that "MultiViews" must be named *explicitly* --- "Options All"

# doesn't give it to you.

#注意MultiViews被显式地Options All,

# The Options directive is both complicated and important.  Please see

# http://httpd.apache.org/docs-2.0/mod/core.html#options

# for more information.

#选项指令既复杂又重要,请参阅http://httpd.apache.org/docs-2.0/mod/core.html#options了解详情

    Options Indexes FollowSymLinks

 

#

# AllowOverride controls what directives may be placed in .htaccess files.

# It can be "All", "None", or any combination of the keywords:

#   Options FileInfo AuthConfig Limit

#AllowOverride 控制什么指令能够加入到.htaccess中,可以是All,None,或者组合关键字

    AllowOverride None

 

#

# Controls who can get stuff from this server.

#控制谁可以可以访问此服务

    Order allow,deny

    Allow from all

 

</Directory>

 

#

# UserDir: The name of the directory that is appended onto a user's home

# directory if a ~user request is received.  Be especially careful to use

# proper, forward slashes here.  On Windows NT, "Personal/My Website"

# is a more appropriate choice.

# UserDir: 用户的home的名称,当接到到~user的请求时。

请小心正确使用”/”. 在WinNT上,”Personal/My Website”是更合适的选择

UserDir "My Documents/My Website"

 

#

# Control access to UserDir directories.  The following is an example

# for a site where these directories are restricted to read-only.

#控制UserDir目录,以下是一个例子,这个目录是只读的

# You must correct the path for the root to match your system's configured

# user directory location, e.g. "C:/WinNT/profiles/*/My Documents/My Website"

# or whichever, as appropriate.

#你必须更正root目录,与系统设置相配,如用户目录是C:/WinNT/profiles/*/My Documents/My Website或者其它合适的

#<Directory "C:/Documents and Settings/*/My Documents/My Website">

#    AllowOverride FileInfo AuthConfig Limit

#    Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec

#    <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: sets the file that Apache will serve if a directory

# is requested.

#DirectoryIndex: Apache服务器将要以一个目录的形式响应服务

# The index.html.var file (a type-map) is used to deliver content-

# negotiated documents.  The MultiViews Option can be used for the

# same purpose, but it is much slower.

#index.html变量文件(一种映射)将直接传送内容。MultiViews选项可以用于同样的目的,但是要慢得多

DirectoryIndex index.html index.html.var

 

#

# AccessFileName: The name of the file to look for in each directory

# for additional configuration directives.  See also the AllowOverride

# directive.

#AccessFileName: 用来查找各个目录下额外的配置指令的配置文件名,同时参考AllowOverride(允许重载)指令

#Acce

AccessFileName .htaccess

 

#

# The following lines prevent .htaccess and .htpasswd files from being

# viewed by Web clients.

#下面两行,阻址Web客户端访问 .htaccess和htpasswd(访问设定和密码)的文件

#

<Files ~ "^\.ht">

    Order allow,deny

    Deny from all

</Files>

 

#

# TypesConfig describes where the mime.types file (or equivalent) is

# to be found.

# TypesConfig,描述在何处找到mime型别

TypesConfig conf/mime.types

 

#

# DefaultType is the default MIME type the server will use for a document

# if it cannot otherwise determine one, such as from filename extensions.

如果服务器不能确定文档的型别,将使用默认的MIME型别,例如根据扩展名

# If your server contains mostly text or HTML documents, "text/plain" is

# a good value.  If most of your content is binary, such as applications

# or images, you may want to use "application/octet-stream" instead to

# keep browsers from trying to display binary files as though they are

# text.

#如果你的服务器主要包括text/html文档,”text/plain”就是一个好的取值。如果你的大多数内容是binary(二进制)的,如应用程序或图片,你可能希望使用application/octet-stream,使得浏览器试图显示二进制数据,尽管它们是文本

DefaultType text/plain

 

#

# The mod_mime_magic module allows the server to use various hints from the

# contents of the file itself to determine its type.  The MIMEMagicFile

# directive tells the module where the hint definitions are located.

# mod_mime_magic模块,允许服务器根据内容提示来识别文件型别。MIMEMagicFile指令告知模块“内容提示”应到何处找。

<IfModule mod_mime_magic.c>

    MIMEMagicFile conf/magic

</IfModule>

 

#

# HostnameLookups: Log the names of clients or just their IP addresses

# e.g., www.apache.org (on) or 204.62.129.132 (off).

# The default is off because it'd be overall better for the net if people

# had to knowingly turn this feature on, since enabling it means that

# each client request will result in AT LEAST one lookup request to the

# nameserver.

HostNameLookups: 客户日志或者仅其IP地址,如www.apache.org(on) 或者204.62.129.132

(off).默认为值设为off比较好,如果希望将此置为on将意味着第一次客户请求都至少要查询一次nameserver.

#

HostnameLookups Off

 

#

# EnableMMAP: Control whether memory-mapping is used to deliver

# files (assuming that the underlying OS supports it).

# The default is on; turn this off if you serve from NFS-mounted

# filesystems.  On some systems, turning it off (regardless of

# filesystem) can improve performance; for details, please see

# http://httpd.apache.org/docs-2.0/mod/core.html#enablemmap

# EnableMMAP: 控制是否通过内存映射的方式传送文件(须得操作系统支持)

默认值为on; 如果你使用NSF加载的文件系统(通常在linux下),应置为off. 在某些系统上,置off,不管使用什么文件系统,能够提高效率,详细情况,请参阅文档

#EnableMMAP off

 

#

# EnableSendfile: Control whether the sendfile kernel support is

# used  to deliver files (assuming that the OS supports it).

# The default is on; turn this off if you serve from NFS-mounted

# filesystems.  Please see

# http://httpd.apache.org/docs-2.0/mod/core.html#enablesendfile

# EnableSendfile: 控制内核传送文件是否支持(需要OS支持)。默认为on,如果使用NFS,则使用off

#EnableSendfile off

 

#

# ErrorLog: The location of the error log file.

# If you do not specify an ErrorLog directive within a <VirtualHost>

# container, error messages relating to that virtual host will be

# logged here.  If you *do* define an error logfile for a <VirtualHost>

# container, that host's errors will be logged there and not here.

#ErrorLog: 出错日志文件

如果你想为虚拟主机定义Errorlog指令,则该虚拟主机的错误信息将被记录到这里

ErrorLog logs/error.log

 

#

# LogLevel: Control the number of messages logged to the error.log.

# Possible values include: debug, info, notice, warn, error, crit,

# alert, emerg.

# LogLever: 日志等级,(与log4j相似,译者注),决定哪些级别的出错信息将被记录,如debug,info,notice,warn,error, crit,alert,emerg等,在设定级别以上的信息就会被记录(译者注).

LogLevel warn

 

#

# The following directives define some format nicknames for use with

# a CustomLog directive (see below).

# 日志格式(与log4j相似)

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

 

# You need to enable mod_logio.c to use %I and %O

#LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio