共计 2169 个字符,预计需要花费 6 分钟才能阅读完成。
Apache 的 Multipath processing Modules (多路处理模块)
(1)prefork:多进程模型,每个进程响应一个请求;
一个主进程:负责生成子进程及回收子进程;负责创建套接字;负责接收请求,并将其派发给某子进程进行处理;
n 个子进程:每个子进程处理一个请求;
工作模型:会预先生成几个空闲进程,随时等待用于响应用户请求;最大空闲和最小空闲;
(2)worker:多进程多线程模型,每线程处理一个用户请求;
一个主进程:负责生成子进程;负责创建套接字;负责接收请求,并将其派发给某子进程进行处理;
多个子进程:每个子进程负责生成多个线程;
每个线程:负责响应用户请求;
并发响应数量:m*n
m:子进程数量
n:每个子进程所能创建的最大线程数量;
(3)event:事件驱动模型,多进程模型,每个进程响应多个请求;
一个主进程:负责生成子进程;负责创建套接字;负责接收请求,并将其派发给某子进程进行处理;
子进程:基于事件驱动机制直接响应多个请求;
httpd-2.2: 仍为测试使用模型;
httpd-2.4:event 可生产环境中使用;
httpd-2.2 不支持同时编译多个 MPM 模块,所以只能编译选定要使用的那个;CentOS 6 的 rpm 包为此专门提供了三个应用程序文件,httpd(prefork), httpd.worker, httpd.event,分别用于实现对不同的 MPM 机制的支持;确认现在使用的是哪下程序文件的方法:
ps aux | grep httpd
默认使用的为 /usr/sbin/httpd,其为 prefork 的 MPM 模块;
查看 httpd 程序的模块列表:
查看静态编译的模块:
# httpd -l
查看静态编译及动态编译的模块:
# httpd -M
更换使用 httpd 程序,以支持其它 MPM 机制;
vim /etc/sysconfig/httpd
HTTPD=/usr/sbin/httpd.{worker,event}
注意:重启服务进程方可生效
MPM 配置:/etc/httpd/conf/httpd.conf
prefork 的配置
<IfModule prefork.c>
StartServers 8 # 服务器刚启动是就启动多少个空闲进程
MinSpareServers 5 # 最小空闲进程数
MaxSpareServers 20 # 最大空闲进程数
ServerLimit 256 # 最大启动多少个进程
MaxClients 256 # 最大启动多少个进程响应客户端请求。最大并发数
MaxRequestsPerChild 4000 # 每个进程最多可以处理多少个请求,达到 4000 个就销毁一个进程
</IfModule>
worker 的配置:
<IfModule worker.c>
StartServers 4 # 服务器刚启动是就启动多少个空闲进程
MaxClients 300 # 最大启动多少个进程响应客户端请求。最大并发数
MinSpareThreads 25 # 最小空闲进程数
MaxSpareThreads 75 # 最大空闲进程数
ThreadsPerChild 25 # 每个进程最大可生成多少个线程
MaxRequestsPerChild 0 # 进程处理的请求数量不受限制
</IfModule>
PV:Page View: 日点击量,有多少个页面被点击。
CentOS6.8 编译安装 Apache2.4.25、MySQL5.7.16、PHP5.6.29 http://www.linuxidc.com/Linux/2016-12/138993.htm
CentOS 6.6 下安装 Apache 2.2.31 http://www.linuxidc.com/Linux/2017-02/140803.htm
Apache 配置多站点访问及二级域名配置 http://www.linuxidc.com/Linux/2017-03/141339.htm
Ubuntu 16.04 LTS 安装 Apache2+PHP7.0+MySQL+phpMyAdmin 图文详解 http://www.linuxidc.com/Linux/2017-02/140098.htm
Apache 配置 https http://www.linuxidc.com/Linux/2017-02/140801.htm
Linux 下 Apache 安装及实例 http://www.linuxidc.com/Linux/2017-02/140800.htm
Apache2.4.6 服务器安装及配置 http://www.linuxidc.com/Linux/2017-01/140006.htm
Ubuntu 16.04 下搭建 Web 服务器 (MySQL+PHP+Apache) 教程 http://www.linuxidc.com/Linux/2017-01/139570.htm
CentOS 7 下 Apache 2.4.18 编译安装详解 http://www.linuxidc.com/Linux/2017-03/142003.htm
本文永久更新链接地址 :http://www.linuxidc.com/Linux/2017-04/142773.htm