首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Apache进程存活多长时间?

Apache进程存活多长时间?
EN

Server Fault用户
提问于 2011-05-31 17:42:06
回答 2查看 12K关注 0票数 12

当apache对mod-php进程进行分叉处理时,它能存活多久?该进程是在发送响应后立即死亡,还是在浏览器接收到完整响应之前仍然处于活动状态?

EN

回答 2

Server Fault用户

回答已采纳

发布于 2011-05-31 18:11:17

如果您使用的是mod-php,那么很可能使用prefork MPM,它生成子进程来处理请求。由主apache2.conf (或httpd.conf,取决于发行版)文件中的指令控制的这些子文件的数量和生存期。

寻找如下所示的部分(您的值可能会有所不同):

代码语言:javascript
复制
<IfModule mpm_prefork_module>
    StartServers          5
    MinSpareServers       5
    MaxSpareServers      10
    MaxClients          150
    MaxRequestsPerChild   0
</IfModule>

Apache自动生成StartServers子级。这些进程将处于空闲状态,直到请求传入。如果孩子们变得很忙,它就会产生MaxClients子程序来处理负载,试图维护MinSpareServers空闲子程序来接收新的请求。一旦事情平静下来,闲散的孩子就会被杀死,直到计数下降到MaxSpareServers为止。

您询问的内容由MaxRequestsPerChild处理。设置为0,这意味着子程序可以永久存在,这是大多数apache安装中的默认值。在任何其他情况下,这意味着每个子进程一旦处理了该数量的请求,就会被强制终止和重新启动,而不管当前负载如何。

更多关于预叉MPM的详细信息,在这里:http://httpd.apache.org/docs/2.2/mod/prefork.html

票数 10
EN

Server Fault用户

发布于 2011-05-31 18:10:40

httpd不为mod_php分进程。它为自己分叉一个进程,其中嵌入了mod_php。孩子将一直活着,直到它满足了MaxRequestsPerChild请求。mod_php本身将继续处理对PHP的每个请求,直到脚本退出或超出时限。

票数 4
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/275601

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档