Apache监控与调优(二)配置文件

apache配置文件为httpd.conf,所在位置为conf目录下。任何指令都可以放置在这个配置文件中,但这些修改的指令都只能是在httpd启动或重新启动时才能被识别。

httpd配置文件每行包含一个指令。反斜杠“ \”可以用作一行的最后一个字符,以指示该指令继续到下一行。反斜杠和行尾之间不得有其他字符或空格。指令的参数由空格分隔。如果参数包含空格,则必须将该参数用引号引起来。配置文件中的指令不区分大小写,但是指令的参数通常区分大小写。以井号“#”开头的行被视为注释,并被忽略。注释不能与配置指令放在同一行。在指令之前会出现空白,因此为了清楚起见,您可以缩进指令。空行也将被忽略。

可以使用语法在配置文件行中使用Shell环境变量的值${ENVVAR}。如果“ ENVVAR”是有效环境变量的名称,则将该变量的值替换为配置文件行中的该位置,然后继续进行处理,就像直接在配置文件中找到该文本一样。(如果找不到ENVVAR变量,则字符“ $ {ENVVAR}”将保持不变,以供配置文件处理中的后续阶段使用。)

在环境变量替换之后,配置文件中一行的最大长度为8192个字符,该变量是在替换环境变量,连接任何连续的行并删除开头和结尾的空白之后。

您可以使用apachectl configtest或-t命令行选项在不启动服务器的情况下检查配置文件中的语法错误。

配置文件中常见配置项说明:

1. ServerRoot

http-www的Home目录,用来存放配置文件、错误文件、记录文件。

2. Listen

用于设置服务器IP地址和端口号,apache默认端口号是80。

3.User

启动apache的相关用户

4.Group:

启动apache相关组

5.PidFile:

表示启动程序进程所在的位置

6.Timeout:

表示连接超时,如果客户端与服务器已连接上,在超时范围内还未发送请求给服务器,那么服务器会自动与客户端断开。

7.KeepAlive:

表示是否保持长连接,即在一个TCP连接下可以发送多个HTTP请求。

语法:

KeepAlive On|Off

默认值:

KeepAlive On

HTTP1.0的Keep-Alive扩展功能和HTTP1.1的持久连接功能提供了长期存在的HTTP会话,该会话允许通过同一TCP连接发送多个请求。

8.KeepAliveTimeout:

表示当开启长连接时,请求与请求之间的时间隔。

KeepAliveTimeout seconds

KeepAliveTimeout 5

设置KeepAliveTimeout为较高的值可能会导致服务器负载过重的性能问题。超时时间越长,等待与空闲客户端进行连接的服务器进程将被占用的时间越长。

9.MPM相关参数

MPM是多通路处理模块,主要的参数包括:StartServers、MaxClients、Serverlimit、MinSpareThreads、MaxSpareThreads、ThreadsPerChild和MaxRequestsPerChild。这些参数具体的使用在后面讲MPM调优时会详细来介绍。

10.ServerName

表示服务器的主机名

11.DocumentRoot

表示发布的应用程序所在的位置

DocumentRoot语法:

DocumentRoot directory-path

默认值:

DocumentRoot /usr/local/apache/htdocs

该指令设置httpd将从该路径下获取取。例:

DocumentRoot /usr/web

如果访问 http://www.my.host.com/index.html将指向 /usr/web/index.html。如果目录路径不是绝对路径,则假定它是相对于的ServerRoot

12. Directory指令

<Directory>和</Directory>用于封装一组指令,使之仅对某个目录及其子目录生效。使用<Directory>… </Directory>设置指定目录的访问权限,其中可包含:Options、AllowOverride 、Order、Allow 、Deny。

其语法如下:

directory-path>

...

</Directory>

Directory-path可以是目录的完整路径,也可以是使用Unix Shell样式匹配的通配符字符串。在通配符字符串中,?匹配任何单个字符,并且*匹配任何字符序列,也可以使用[]约束字符的范围。所有通配符都不匹配'/'字符,因此将不匹配 /home/user/public_html,但将匹配。例:

<Directory /usr/local/httpd/htdocs>

Options Indexes FollowSymLinks

</Directory>

除了可以使用通配符匹配路径外,路径也可以支持正则表达式的形式。例如:

<Directory ~ "^/www/[0-9]{3}">

表示将匹配/www/由三个数字组成的目录。

如果多个(非正则表达式)节与包含文档的目录(或其父目录之一)匹配,则将以最短匹配的顺序应用这些指令,并在这些文件中插入.htaccess文件中的指令。例如,

<Directory />

AllowOverride None

</Directory>

<Directory /home>

AllowOverride FileInfo

</Directory>

AllowOverride None:表示(禁用.htaccess文件)。

AllowOverride FileInfo:表示(用于directory /home)。

以访问文档/home/web/dir/doc.html为例,其访问顺序如下:

应用所有FileInfo的指令 /home/.htaccess、/home/web/.htaccess、/home/web/dir/.htaccess,并按此顺序访问。

13. DirectoryMatch指令

包含适用于与正则表达式及其子目录匹配的文件系统目录的指令。

语法:

< DirectoryMatch regex >

...

</DirectoryMatch >

这些指令将仅适用于命名目录和 该目录的子目录(以及其中的文件)<Directory>。但是,它以正则表达式作为参数。例如:

<DirectoryMatch "^/www/(.+/)?[0-9]{3}">

将匹配/www/由三个数字组成的目录。

14.IfModule指令

语法:

module-file|module-identifier> ...

表示检测特定的模块是否存在,如果存在则执行里面的指令,如果不存在则忽略开始标记到结束标记之间所有的内容。

15.Location指令

语法:

URL-path|URL> ...

该指令是将其附随的参数传递到URL中,location指令后面的参数就是直接应用于URL请求中的,如果需求生效,那么URL路径部分应该满足以下任一条件:

Ø 指定的位置与URL的路径部分完全匹配。

Ø 以反斜杠结尾的指定位置是URL路径部分的前缀。

Ø 指定的位置(带有尾部的斜杠)是URL路径部分的前缀。

如/ private1,/ private1 /和/private1/file.txt,将这些目录附随到URL地址中。

该URL可以使用通配符。在通配符字符串中,?匹配任何单个字符,并且*匹配任何字符序列。这两个通配符都不匹配URL路径中的/。

除~字符外,还可以使用 正则表达式。例如:

<Location ~ "/(extra|special)/data">

16. Options指令

options用于配置特定目录中可用的功能

语法:

Options [+|-]option [[+|-]option] ...

该Options指令用于控制访问服务器目录的权限。选项可以设置为None,在这种情况下,不会启用任何附加功能,或者以下一项或多项:

Ø All

表示除MultiViews之外的所有特性,该选项为默认值。

Ø ExecCGI

允许使用mod_cgi模块执行CGI脚本。

Ø FollowSymLinks

服务器允许在此目录中使用符号连接,如果需求将目录链接到其它的路径下就需要使用到符号链接。如果该配置选项位于 配置段中,将会被忽略。即使服务器遵循符号链接,它也不会 更改<Directory>指令中的路径名。在FollowSymLinks和 SymLinksIfOwnerMatch Options只在<Directory>段中进行工作或针对于 .htaccess文件有效。

Ø Indexes

表示匹配的index文件类型,如果输入的网址中有这个index文件,那么就会显示出这个文件内容,如果没有index文件,则会返回由mod_autoindex模块生成的一个格式化的目录列表,并列出该目录下的所有文件。

Ø MultiViews

允许使用mod_negotiation模块提供内容协商的"多重视图"。简而言之,如果客户端请求的路径可能对应多种类型的文件,那么服务器将根据客户端请求的具体情况自动选择一个最匹配客户端要求的文件。在 HTTP 协议中,内容协商是这样一种机制,通过为同一 URI 指向的资源提供不同的展现形式,可以使用户代理选择与用户需求相适应的最佳匹配(例如,文档使用的自然语言,图片的格式,或者内容编码形式)。

一份特定的文件称为一项资源。当客户端获取资源的时候,会使用其对应的 URL 发送请求。服务器通过这个 URL 来选择它指向的资源的某一变体——每一个变体称为一种展现形式——然后将这个选定的展现形式返回给客户端。整个资源,连同它的各种展现形式,共享一个特定的 URL 。当一项资源被访问的时候,特定展现形式的选取是通过内容协商机制来决定的,并且客户端和服务器端之间存在多种协商方式。

Ø SymLinksIfOwnerMatch

服务器仅在符号连接与目标文件或目录的所有者具有相同的用户ID时才使用它。简而言之,只有当符号连接和符号连接指向的目标文件或目录的所有者是同一用户时,才会使用符号连接。如果该配置选项位于 <Location>配置段中,将会被忽略。

Apache允许在一个目录配置中设置多个Options指令,如果一个目录中设置了多个Options指令,那么特性最多的Options指令会被使用,其它的都会被忽略,默认情况下各个Options指令之间并不会合并,但可能通过"+"或"-"。"+"表示将该选项添加到选中来,"-"选择在选项中删除该选项。

注意:混合使用前面带"+"/"-"和前面不带"+"/"-"的同一可选项,可能会导致出现意料之外的结果。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,142评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,298评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,068评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,081评论 1 291
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,099评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,071评论 1 295
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,990评论 3 417
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,832评论 0 273
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,274评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,488评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,649评论 1 347
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,378评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,979评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,625评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,796评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,643评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,545评论 2 352

推荐阅读更多精彩内容