- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
3.1 Apache 配置系统 51
CHAPTER
第 3 章
配置文件管理
Apache 作为一个非常强大的、灵活的Web 服务器,配置文件功不可没,通过修改和调
整配置文件,用户可以将Apache 的功能发挥到极限。事实上,大部分Apache 管理员的工作
就是编辑Apache 的配置文件,调整指令的参数。但是Apache 的配置文件非常庞大,指令的
数目令人望而生畏,而且还在不断地扩充之中。尽管目前有很多Apache 管理宝典之类的书
来指导用户如何使用这些指令,但是大部分的系统管理员对配置文件的机制及指令的内部运
行流程并不能很好地理解,知其然而不知其所以然。他们并不了解指令是如何对Apache 产
生效果的,因此指令的使用也仅仅是人云亦云,简单模仿而已。
另外一个重要的内容就是Apache 指令的扩充。尽管Apache 中提供了足够的指令,但是
用户在需要的时候也可以实现自己的指令。如何扩充实现自己的指令也是配置文件管理的重
要组成部分。
古人云:“授之以鱼,不如授之以渔”。本章将对Apache 的配置文件进行深入的剖析,
同时我们将追踪配置指令的作用流程,从而弄明白配置文件是如何产生效果的,部分内容需
要放到下一章结合模块部分来介绍。
Apache 源代码全景分析第 1 卷:体系结构与核心模块
52 第 3 章 配置文件管理
3.1 Apache 配置系统
了解配置系统的指令之前,我们看一个简单的示例程序。在 Apache 中通过 MPM 模块
来实现进程/线程的并发处理。在此过程中,可以通过指令来控制系统中允许同时运行的进
程的数目及每个进程允许产生的线程的数目。前者由 ServerLimit 指令控制,后者则由
ThreadsPerChild 指令控制。比如:
ThreadsPerChild 25
ServerLimit 16
上面的指令指定每个进程所能产生的线程数目为25 个,而进程的最大产生数目为 16 个。
那么,Apache 是什么时候读取这些指令的?它是怎么读取的?读取之后这些指令保存
在哪儿?以什么方式保存的?这些指令最终是如何影响 Apache 的行为的?这些都是Apache
配置系统需要解决的问题。
从整体上描述 Apache 配置系统,它应该包含三个主要部分。
配置文件。通常情况下,配置系统会指定一些固定的文件作为配置文件,比如目前
最主要的配置文件就是 httpd.conf 。
配置指令。配置系统必须能够决定各个指令的含义,这样,配置系统才能够正确地
对其进行解释和处理。配置正确的指令或默认的值,或者由管理员进行修改;而解
释配置指令则由 Apache 的核心及各个模块来处理。
配置信息的保存和读取。
Apache 在处理了配置信息之后,将这些信息按照一定的数据结构进行保存。在 Apache
的运行过程中,任何时候需要的配置信息可直接从内存中读取即可。Apache 中按照什么数
据结构保存这些配置信息是我们重点分析的内容之一。
3.2 配置文件
3.2.1 配置文件类
Apache 服务器的配置是通过文本格式的配置文件来实现的,在文本文件中包含配置指
令,正是通过这些指令实现对 Apache 运行的方方面面进行控制的。在 Apache 2.0 中涉及的
配置文件包括以下三种。
Apache 源代码全景分析第 1 卷:体系结构与核心模块
文档评论(0)