httpd服务器请求处理过程:
1、建立连接:接收或拒绝连接请求
2、接收请求:接收客户端请求报文中对某资源的一次请求的过程
3、处理请求:服务器对请求报文进行解析,并获取请求的资源及请求方法等相关信息,根据方法,资源,首部和可选的主体部分对请求进行处理。
4、访问资源:服务器获取请求报文中请求的资源web服务器,即存放了web资源的服务器,负责向请求者提供对方请求的静态资源,或动态运行后生成的资源
5、 构建响应报文:一旦Web服务器识别除了资源,就执行请求方法中描述
的动作,并返回响应报文。响应报文中 包含有响应状态码、响应首部,如果生成了响应主体的话,还包括响应主体。
6、发送响应报文
7、记录日志:最后,当事务结束时, Web服务器会在日志文件中添加
一个条目,来描述已执行的事务
程序环境:
配置文件:
- /etc/httpd/conf/httpd.conf
主配置文件 - /etc/httpd/conf.d/*.conf
额外的配置文件,管理员可以自己添加一些配置文件在这个目录下,文件名要以.conf
为后缀 - 检查配置语法:
httpd –t
service httpd configtest
模块文件目录:
- /etc/httpd/modules
- /usr/lib64/httpd/modules
Apache支持很多外挂模块,如PHP以及SSL都是Apache外挂模块的一种。所有的外挂模块默认放置在/usr/lib64/httpd/modules这个目录上的。/etc/httpd/modules是一个软链接。
服务脚本:
- /etc/rc.d/init.d/httpd
服务脚本 - /etc/sysconfig/httpd
服务脚本配置文件,比如定义了httpd服务用的prefork还是worker等模式。 -
chkconfig httpd on|off
配置开机是否启动 -
service {start|stop|restart|status|configtest|reload} httpd
开启或者关闭等操作
日志文件目录
- /var/log/httpd/access_log访问日志
- /var/log/httpd/access_log错误日志
主程序文件:
- /usr/sbin/httpd
- /usr/sbin/httpd.worker
- /usr/sbin/httpd.event
主进程文件
- /etc/httpd/run/httpd.pid
这个文件是启动服务时,程序创建的文件。记录了主程序的进程号。
站点网页文档根目录:
- /var/www/html
- /var/www/error服务器设置错误,或者浏览器要去的数据错误时,服务器返回给浏览器的信息以这个目录默认信息为主。
MPM多路处理模块
这个模块主要是关于httpd服务进程管理的。
- prefork:每个进程响应一个请求,默认模型
一个主进程:生成和回收n个子进程, 创建套接字,不响应请求
多个子进程:工作work进程,每个子进程处理一个请求;系统初始
时,预先生成多个空闲进程,等待请求,最大不超过1024个
- worker:多进程多线程
一个主进程: 生成m个子进程,每个子进程负责生个n个线程,每个
线程响应一个请求,并发响应请求: m*n
可以通过/etc/sysconfig/httpd文件配置多处理模式。