为什么 Apache 运行四个进程?

为什么 Apache 运行四个进程?

在我运行 Apache 2.4 的系统上,它生成四个进程:

$ ps aux | grep httpd
root     18325  0.0  0.2  53448  5884 ?        Ss   10:22   0:00 /usr/local/apache2/bin/httpd -k start
www-data 18326  0.0  0.2 342416  4484 ?        Sl   10:22   0:00 /usr/local/apache2/bin/httpd -k start
www-data 18327  0.0  0.2 342416  4484 ?        Sl   10:22   0:00 /usr/local/apache2/bin/httpd -k start
www-data 18328  0.0  0.2 342416  4484 ?        Sl   10:22   0:00 /usr/local/apache2/bin/httpd -k start

我知道根进程是启动进程,它正在生成一个以 www-data 身份运行的低权限子进程,但为什么有 3 个?

答案1

您的配置将决定这一点;禁止覆盖,默认启动服务器值为 3工人模块

您可以通过询问 httpd 来确认它已加载了哪些模式:

httpd -M

和/或检查 00-mpm.conf 中的配置:

grep ^LoadModule 00-mpm.conf

答案2

Apache 需要为每个连接生成一个进程。运行多个进程是正常行为。

相关内容