Apache HTTP Server 版本2.2
多路处理模块
本文档描述了什么是多路处理模块以及它如何为Apache所使用。
简介
Apache HTTP服务器被设计为一个强大的、灵活的能够在多种平台以及不同环境下工作的服务器。不同的平台和不同的环境经常产生不同的需求,或是为了达到同样的最佳效果而采用不同的方法。Apache凭借它的模块化设计很好的适应了大量不同的环境。这一设计使得网站管理员能够在编译时和运行时凭借载入不同的模块来决定服务器的不同附加功能。
Apache2.0将这种模块化的设计延伸到了web服务器的基础功能上。这个版本带有多路处理模块(MPM)的选择以处理网络端口绑定、接受请求并指派子进程来处理这些请求。
将模块化设计延伸到这一层次主要有以下两大好处:
- Apache可以更简洁、更有效地支持各种操作系统。尤其是在
mpm_winnt
中使用本地网络特性代替Apache1.3中使用的POSIX模拟层后,Windows版本的Apache现在具有更好的性能。这个优势借助特定的MPM同样延伸到了其他各种操作系统。 - 服务器可以为某些特定的站点进行定制。比如,需要更好伸缩性的站点可以选择象
worker
或event
这样线程化的MPM,而需要更好的稳定性和兼容性以适应一些旧的软件的站点可以用prefork
。
从用户角度来看,MPM更像其他的Apache模块。主要的不同在于:不论何时,必须有且仅有一个MPM被载入到服务器中。现有的MPM列表可以在模块索引中找到。