CentOS httpd 以 root 和 apache 用户身份运行

Jac*_*sen 2 linux httpd centos apache-2.2

我有一个 Apache httpd 服务器在我的 CentOS 服务器上运行,但显然它既以 root 身份运行 httpd 进程,又以 apache 用户身份运行一个进程。

请参阅顶部的此屏幕截图:

在此处输入图片说明

用户和组在配置文件中设置为 apache,所以我有点迷失在这里。

你们中有人知道是什么启动了“root”进程,以及它为什么要运行?

cjc*_*cjc 8

以“apache”身份运行的那个是工作进程。以“root”身份运行的那个是主进程。这是完全正常的。

主进程将根据需要(配置文件中指定的任何约束)产生工作人员来处理传入的流量。它通常需要是 root 用户才能绑定到低端口 80 和 443。绑定后,它会将权限授予 apache 用户。

工人将不时收获。长时间运行的进程是以 root 身份运行的进程。如果您查看 httpd.conf,您会看到一个类似于以下内容的块:

StartServers       1
MinSpareServers    1
MaxSpareServers    5
ServerLimit      256
MaxClients       256
MaxRequestsPerChild  4000
Run Code Online (Sandbox Code Playgroud)

因此,在此示例中,主进程将在启动时生成一个工作进程。如果有更多的流量,它会产生更多的工人。一旦工作进程处理 4000 个请求,工作进程就会死亡,主进程可能会产生新的工作进程,具体取决于流量。