应该有多少个 Nginx 进程?

Huw*_*Huw 6 server nginx ps

只需在新的 ubuntu 服务器 12.04 上安装 Nginx。

ps -e | grep nginx 起初什么都没有返回,所以我跑了nginx,这似乎让事情开始了。

ps -e | grep nginx现在运行会 返回许多相同的进程吗?

 1793 ?        00:00:00 nginx
 1794 ?        00:00:00 nginx
 1795 ?        00:00:00 nginx
 1796 ?        00:00:00 nginx
 1797 ?        00:00:00 nginx
Run Code Online (Sandbox Code Playgroud)

一切似乎都在运行,但是我很想知道为什么会有多个,它们在做什么以及如果我只杀死其中一个会对我的服务器造成什么影响?

cha*_*aos 11

这是 的工作进程nginx。默认配置有 4 个工作进程。在这里,Web 服务器可以非常快速地处理多个连接。其中之一是主进程,查看输出ps fax | grep nginx

 user@host:~# ps fax | grep nginx
 6885 ?        Ss     0:00 nginx: master process /usr/sbin/nginx
 6886 ?        S      0:00  \_ nginx: worker process
 6887 ?        S      0:00  \_ nginx: worker process
 6888 ?        S      0:00  \_ nginx: worker process
 6889 ?        S      0:00  \_ nginx: worker process
Run Code Online (Sandbox Code Playgroud)

您会看到有一个主进程和 4 个子进程(工人)。

确定配置了多少工作进程类型:

user@host:~# grep worker_processes /etc/nginx/nginx.conf
worker_processes 4;
Run Code Online (Sandbox Code Playgroud)