Apache服务器指令解释说明 - Apache - 服务器之家

服务器之家

专注于服务器技术!
当前位置:首页 > Web服务器 > Apache

Apache服务器指令解释说明

发布时间:2013-12-22 来源:服务器之家

基本指令

一、一般的配置命令

1、AccessFileName

默认值:AccessFileName .htaccess

此命令是针对目录的访问控制文件的名称;

2、BindAddress

默认值:BindAddress *

设置服务器监听的IP地址;

3、DefaultType

默认值:DefaultType text/html

服务器不知道文件类型时,用缺省值通知客户端;

4、DocumentRoot

默认值:DocumentRoot “/var/www/html/”

设置Apache提供文件服务的目录;

5、ErrorDocument

设置当有问题发生时,Apache所做的反应;

6、IfModule

使用不包含在Apache安装中的模块的命令

7、Include

包含其它的配置文件

8、Listen

默认值:所有能够连接到服务器的IP地址

指定如何响应除去Port指定的端口地址外的地址请求;

9、Options

控制某个特定目录所能使用的服务器功能;

其值有:

None:表示只能浏览,

  FollowSymLinks:允许页面连接到别处,

  ExecCGI:允许执行CGI,
   MultiViews:允许看动画或是听音乐之类的操作,

  Indexes:允许服务器返回目录的格式化列表,

  Includes:允许使用SSI。这些设置可以复选。

  All:则可以做任何事,但不包括MultiViews。

  AllowOverride:加None参数表示任何人都可以浏览该目录下的文件。
   另外的参数有:FileInfo、AuthConfig、Limit。

10、Port

默认值:Port 80

设置服务器监听的网络端口;

11、ServerAdmin

设定管理员的电子邮件地址;

12、ServerName

设定服务器的主机名称;

13、ServerRoot

默认值:ServerRoot /etc/httpd/

设定服务器的根目录;

14、User && Group

指定服务器用来回答请求的用户ID和组ID;

二、性能和资源配置命令

1、进程控制

1.1、MaxClients

默认值:MaxClients 150

设定能同时服务的请求数目;

1.2、MaxRequestsPerChild

默认值:MaxRequestsPerChild 0

设置每个进程能够响应的最大请求数,0表示不限制;

1.3、MaxSpareServers

默认值:MaxSpareServers 10

设定最大空闲服务进程数目;MinSpareServers设定最小空闲服务进程数目;

1.4、ServerType

默认值:ServerType standalone

设定系统执行服务器的方式;

1.5、StartServer

默认值:StartServer 5

服务器启动时建立的子进程的数目;

1.6、ThreadsPerChild

默认值:ThreadsPerChild 50

设定Apache服务器使用的线程数;

1.7、Timeout

默认值:Timeout 300

设定处理一个请求的超时值;

2、建立持续连接

2.1、KeepAlive

默认值:KeepAlive ON

设定在Apache中打开或者关闭TCP连接

2.2、KeepAliveTimeout

默认值: KeepAliveTimeout 5

设定在Apache关闭TCP连接等待的时间;

2.3、MaxKeepAliveRequests

默认值:MaxKeepAliveRequests 100

设定持续连接时每个连接的最大请求数;

3、控制系统资源

3.1、RLimitCPU

控制Apache进程占用CPU的时间;

3.2、RLimitMEM

控制Apache进程的内存占用量;

3.3、RLimitNPROC

设定每个用户并发进程的最大数目;

4、动态装载模块

4.1、AddModule

装入当前服务器不使用的预编译模块;

4.2、ClearModuleList

清除预编译模块列表;

三、标准容器命令

1、Directory

Directory和/Directory容器指令,应用到指定的目录及其子目录上;

2、DirectoryMatch

DirectoryMatch和/DirectoryMatch除了使用规则表达式作为参数和不需要
通配符~之外,和

Directory类似;

3、File

File和File容器用来设置通过文件名访问;

4、FilesMatch

和File类似,但不能使用通配符~;

5、Location

Location和/Location容器命令用来提供通过URL的访问控制。

6、LocationMatch

LocationMatch和Location相同,只是不能使用通配符~。

四、虚拟主机命令

1、VirtualHost

定义特定的虚拟主机。

2、NameVirtualHost

如果使基于名称的虚拟主机,则要使用此命令。

3、ServerAlias

针对含有多个IP名称的基于名称的虚拟主机。可以使用单独的虚拟主机命令定义
所有的IP名称。

五、日志命令

1.

ErrorLog

默认值:ErrorLog logs/error_log

设定错误日志文件。

2.

LockFile

默认值:LockFile logs/accept.lock

用来设置锁文件的路径,确保只有Apache服务器才拥有此文件的读写权限。

3.

PidFile

默认值:PidFile logs/httpd.pid

设定Apache服务器记录守护进程的进程ID的文件。

4.

ScoreBoardFile

默认值:ScoreBoardFile logs/apache_status

设置存储内部进程数据文件的路径。

六、认证安全命令

1.

AllowOverride

默认值:AllowOverride All

当服务器找到AccessFileName指定的文件时,需要知道该文件中的那些指令可以
覆盖在配置文件中稍早出现的指令。

AllowOverride可以设为None,此时不会读取该文件的内容,如果设为All,服务
器将允许所有的指令。

2.

AuthName

为某个要求认证的资源设定标号。

3.

Authtype

为某个目录选择使用的认证类型。

4.

HostNameLookups

默认值:HostNameLookups Off

设置Apache允许或者禁止为每个请求而进行DNS查找。

5、Limit

Limit和Limit包装起来的指令只应用到指定的任何有效的HTTP存取方式
上。

6、require

这个指令选择经过验证可以存取目录的使用者。

7、Satisfy

如果已经建立了基本的HTTP认证配置,且同时使用了allow和require命令,则可
用使用此命令来配置Apache在什么条件才能满足认证的要求。

标准模块

1.

mod_access

提供以客户端的主机名称或者IP地址为基础的存取控制。

1.1、allow

典型应用是在Limit容器中,用来允许符合条件的主机存取。

1.2、deny

典型应用是在Limit容器中,用来禁止符合条件的主机存取。

1.3、order

用来控制allow指令和deny指令的次序。

2.

mod_actions

能够提供基于MIME类型的CGI脚本或HTTP请求方法。

2.1、Action

对特定的MIME-type指定一个操作。

2.2、Script

此命令和Action相似,但不是将操作和MIME-type联系起来,而是将操作和HTTP
的请求方法联系起来,如GET、PUT等。

3.

mod_alias

3.1、Alias

该指令可以是文件存放在DocumentRoot之外的本地文件系统里。

3.2、Redirect

该指令将旧的URL重定向到新的URL。

3.3、RedirectMatch

与Redirect类似,但它使用规则表达式而不是简单的URL。

3.4、RedirectTemp

和Redirect类似,它让客户端知道重定向只是临时的。

3.5、RedirectPermanent

和Redirect类似,它让客户端知道重定向是永久的。

3.6、ScriptAlias

该指令除了把目标目录标记为包含CGI脚本以外,和Alias功能相同。

3.7、ScriptAliasMatch

该指令出使用规则表达式以外,和ScriptAlias命令相似。

4.

mod_asis

允许定义文件的类型,这样,Apache可以不加HTTP头标(headers)传送它们。

5.

mod_auth

5.1、AuthGroupFile

该指令用来设置包含用来执行用户验证的使用者组列表的文本文件。

5.2、AuthUserFile

该指令用来设置包含用来执行用户验证的使用者以及密码列表的文本文件。

6.

mod_auth_anno

允许以匿名方式访问需要认证的区域。

7.

mod_auth_db

用户认证数据库

8.

mod_auth_external

使Apache支持第三方认证。

9.

mod_autoindex

当由DriectoryIndex指定的索引文件不存在时,该模块使Apache生成动态模块列
表。

9.1、AddAlt

当FancyIndexing处于打开状态时,此命令设置代替图标的正文。

9.2、AddAltByEncoding

当FancyIndexing处于打开状态时,此命令用来为一个或多个MIME-encoding指定
正文。

9.3、AddAltByType

此命令用于为文件设置代用正文以代替用于FancyIndexing的图标。

9.4、AddDescription

该命令设定某文件要显示的描述,供象征索引(FancyIndexing)使用。

9.5、AddIcon

该命令设定显示在文件名之后的图标供象征索引使用。

9.6、AddIconByEncoding

该命令设定显示在有MIME-encoding的文件名之后的图标供象征索引使用。

9.7、AddIconByType

该命令设定显示在MIME-type的文件名之后的图标供象征索引使用。

9.8、DefaultIcon

设定不知道指定的图标是什么的时候显示的图标。

9.9、DirectoryIndex

设定当客户端没有指定以文件形式结尾的目录名称请求该目录的索引时所要找寻
的来源列表。

9.10、FancyIndexing

设定目录的象征索引列表。

9.11、HeaderNmae

设定插入索引列顶部的文件名。

9.12、IndexIgnore

设定列目录时需要隐藏的文件。

9.13、IndexOptions

设定进行目录索引时的选项。

9.14、ReadmeName

设定要附加到索引文件后面的文件名。

10.

mod_cgi

支持CGI。

11.

mod_dir

其唯一的指令是DirectoryIndex,设定当客户端没有指定以文件形式结尾的目录
名称请求该目录的索引时所要找寻的来源列表。

12.

mod_env

将环境变量传递给CGI或SSI脚本。

12.1、PassEnv

此命令告诉模块从服务器的环境中传递一个或多个环境变量到CGI或SSI脚本。

12.2、SetEnv

设置环境变量,然后传递给CGI/SSI脚本。

12.3、UnsetEnv

从传递给CGI/SSI脚本的环境变量中删除一个或多个环境变量。

13.

mod_imap

提供图形映射支持。

14.

mod_include

使支持SSI。

15.

mod_log_config

支持记录日志。

16.

mod_mime

提供从文件名决定文件了类型的功能。

16.1、AddEncoding

该指令以指定的编码类型把可能作为文件名结尾的扩展名加入文件扩展名列
表。

16.2、AddLanguage

该指令以指定的语言把可能作为文件名结尾的扩展名加入文件扩展名列表。

16.3、AddType

该指令以指定的内容类型把可能作为文件名结尾的扩展名加入文件扩展名列
表。

16.4、TypesConfig

指定MIME类型配置文件所在的位置。

17.

mod_negotiation

提供对内容协商的支持。

18.

mod_setenvif

使你可以创建定制环境变量。

18.1、BrowserMatch

此命令用来在规则表达式与模式匹配时设置黄和删除定制环境变量。

18.2、BrowserMatchNoCase

在BrowserMatch的功能之外还提供与大小写无关的匹配。

18.3、SetEnvIf

能够设置和删除定制的环境变量,可用于所有的请求标题字段。

18.4、SetEnvIfNoCase

在SetEnvIf功能之外还提供与大小写无关的规则表达式匹配。

19.

mod_unique_id

该模块为每个请求提供在非常特殊的条件下保证是唯一的标识符。

20.

mod_userdir

该模块的指令是UserDir,提供代表使用者的目录。

扩展模块测试

21.

mod_auth_dbm

支持使用DBM文件存储基本HTTP认证。

21.1、AuthDbmGroupFile

设定包含代验证用户名组列表的文件名。

21.2、AuthDbmUserFile

设定包含代验证用户名和密码列表的文件名。

22.

mod_auth_digest

使用MD5算法来进行用户的认证工作。使用它时,就不能使用mod_digest模块。

23.

mod_cern_meta

提供对元信息的支持,元信息可以是HTTP头标。

23.1、MetaFiles

此命令允许或禁止元标题文件处理。

23.2、MetaDir

此命令用来指定存储元标题文件的目录的名称。

23.3、Metasuffix

此命令为元信息文件指定文件扩展名。

24.

mod_cookies

唯一的指令是CookieLog,用来设定记录cookies用的文件名。

25.

mod_digest

唯一的指令是AuthDigestFile,用来设定包含用户名和密码列表的文本文件的文
件名。

26.

mod_dld

该模块提供在启动时载入可执行文件及模块到服务器里去的功能。

26.1、LoadFile

该指令在服务器启动时链接其所指的目的文件或程序库。

26.2、LoadModule

该指令链接目的文件或程序库的文件名并且把所指定的模块加入到使用中的模块
列表。

27.

mod_example

唯一指令是Example,该指令设置示例模块的内容句柄显示的说明标志。

28.

mod_expires

让你确定服务器在响应请求时如何处理Expires HTTP标题。

28.1、ExpiresActive

禁止或允许Expires标题生成。

28.2、ExpiresByType

指定MIME类型文档的Expires HTTP标题值。

28.3、ExpiresDefault

为指定的使用范围内的所有文档设置缺省的过期时间。

29.

mod_headers

操作HTTP应答标题;提供单独的名为Header的命令。

30.

mod_info

该模块对服务器的配置提供了全面的描述,其中包括所有安装的模块及其在配置
文件中使用的命令;唯一的命令是AddModuleInfo。

31.

mod_log_angent

允许在单独的日志中存储用户代理的信息。

31.1、AgentLog

默认值:AgentLog logs/agent_log

设定服务器记录及进入请求的文件名。

32.

mod_log_referrer

提供了将请求中Referer头标写入日志的功能。

33.

mod_nmap_static

提供经常访问的不改变的文件的列表。

33.1、MmapFile

该指令在Apache启动时,将一个或者多个文件映射进内存,Apache关闭时自动删
除映射。

34.

mod_proxy

提供对代理的支持。

34.1、ProxyRequests

默认值:ProxyRequests off

开启或关闭代理服务。

34.2、ProxyRemote

将自己的代理服务器匹配接口于另一个代理服务器。

34.3、ProxyPass

把一个代理服务器的文档树映射到另一个代理服务器的文档空间。

34.4、ProxyPassReverse

建立反向代理。

34.5、ProxyBlock

屏蔽向某一主机或域发出的请求。

34.6、NoProxy

在内部网络环境下,对ProxyRemote指令产生一些控制,可以指定一个域名、子
网、IP地址或主机名,让ProxyRemote指令所指定的代理服务器不对它们作处理
服务。

34.7、ProxyDomain

设定代理服务器的缺省域名。

34.8、ProxyReceiveBufferSize

给所有代理服务器发出的请求设定了网络缓冲大小。

34.9、CacheRoot

打开磁盘缓冲功能,必须指定一个目录,以便代理服务器能够写入被缓存的文
件。

34.10、CacheSize

默认值:CacheSize 5

指定用作缓存的磁盘空间的大小。

34.11、CacheGcInterval

指定Apache每隔多长时间检查缓存目录,删除过期文件。

34.12、CacheMaxExpire

默认值:CacheMaxExpire 24

指定缓存文档的过期时间,以小时计。

34.13、CacheLastModifiedFactor

默认值:CacheLastModifiedFactor 0.1

指定了认为文档过期的时间系数。

34.14、CacheDirLenth

指定缓存文件的路径下子目录使用的字符数。

34.15、CacheDirLevels

默认值:CacheDirLevels 3

指定缓存数据文家的子目录的层数。

34.16、CacheDefaultExpire

默认值:CacheDefaultExpire 1

当不知道文件的最后修改时间,该指令提供了缺省的过期时间,以小时计。

34.17、CacheForceCompletion

默认值:CacheForceCompletion 90

该指令告诉代理服务器,即使请求已经取消,也要续传从远端服务器发出的文
档。后面的数字表示百分比,也就是文档的90%已经缓存时就续传。

34.18、NoCache

该指令指定了由空格分隔的主机、域名、IP地址的列表,对于列表中的对象不执
行缓存操作。

35.

mod_rewrite

提供URL重写功能。

35.1、RewriteEngine

默认值:RewriteEngine off

提供了mod_rewrite模块内的URL重写引擎开关。

35.2、RewriteOptions

用指定的选项改变重写引擎的属性。

35.3、RewriteRule

定义重写规则。

35.4、RewriteCond

给RewriteRule指令定义的重写规则添加额外的条件。

35.5、RewriteMap

利用映射图方便了关键字到值的查找。

35.6、RewriteBase

仅当在每一路径配置文件中使用重写规则时才起作用。

35.7、RewriteLog

设定重写的日志。

35.8、RewriteLoglevel

默认值:RewriteLoglevel 0

指定重写文件中记录什么类容,0表示不记录任何内容。

35.9、RewriteLock

如果想用外部映射程序来生成重写映射图,就可以使用该指令指定一个用作同外
部映射程序同步通信的锁定文件。

36.

mod_so

提供在服务器启动时装载可执行代码和模块的功能。

36.1、LoadFile

在服务器启动时链接目标文件或库,还可以用来加载一些模块工作时必须的代
码。

36.2、LoadModule

该指令链接目标文件或库,并将模块添加到活动模块列表中。

37.

mod_speling

处理含有错误拼写或错误大小写的URL请求。

38.

mod_status

允许管理员通过Web监视Apache。

39.

mod_usertrack

该模块用来产生记录用户在一个站点使用cookies活动的“clickstream”日
志。

39.1、CookieExpires

该指令设置mod_usertrack模块生成的cookie的生存时间,以秒计。

39.2、CookieName

默认值:CookieName Apache

让用户更改用于跟踪目的的cookie的名称。

39.3、CookieTracking

对所有的请求,Apache均发送一个用户跟踪的cookie,该指令可用来在服务器或
者目录的基础上禁止该行为。

40.

mod_vhost_alias

支持动态配置批量虚拟主机。

40.1、VirtualDocumentRoot

设置基于服务器名的Apache文档。

40.2、VirtualDocumentRootIP

除了用IP地址代替主机名以外,其它功能和VirtualDocumentRoot类似。

40.3、VirtaulScriptAlias

该指令告诉Apache在什么地方找到CGI脚本。

40.4、VirtaulScriptAliasIP

除了用IP地址代替主机名以外,其它功能和VirtaulScriptAlias类似。