1.httpd简介
当今主流的开源Web服务器软件有httpd(Apache),lighttpd,nginx,thttpd等,而httpd是迄今为止使用量多的web服务器,据统计目前httpd的全球占有量是47%左右,虽然有所下降但是使用两仍然是最多的,统计web服务器使用率的网站是:http://news.netcraft.com/
httpd工作的原理:httpd是Apache超文本传输协议(HTTP)服务器的主程序,被设计为一个独立运行的后台进程,它会建立一个处理请求的子进程或线程的池。
通常httpd不应该被直接调用,而应该在类Unix系统中由apachectl调用,在Windows作为服务运行。
2.httpd的版本
httpd-1.3
httpd-2.0
httpd-2.2
httpd-2.4
目前为止最新的版本是httpd-2.4.6,但是这里我用的是系统自带的RPM包安装的httpd-2.2.15版本的,最新版本配置可能会有所不同
本文主要介绍httpd的两大版本,httpd-2.2和httpd-2.4。
CentOS6系统的版本默认提供的是httpd-2.2版本的rpm包
CentOS7系统的版本默认提供的是httpd-2.4版本的rpm包
3.httpd工作模型
高度模块化:DSO
MPM:Multipath Processing Module #多处理模块
prefork:一次一个进程响应一个请求
worker:一个进程生成多个线程,一个线程响应一个请求
event:基于事件驱动,一个进程响应多个请求
4.httpd自带的工具程序
工具
功能
htpasswd
basic认证于文件实现时,用到的账号密码生成工具
apachectl
httpd自带的服务控制脚本,支持start,stop,restart
apxs
由httpd-devel包提供的,扩展httpd使用第三方模块的工具
rotatelogs
日志滚动工具
suexec
访问某些有特殊权限配置的资源时,临时切换至用户运行的工具
ab
apa