应该有多少个 Nginx 进程?

应该有多少个 Nginx 进程?

刚刚在全新的 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

一切似乎都在运行,但我感兴趣的是知道为什么会有多个,它们在做什么,以及如果我只杀死其中一个,我的服务器会发生什么?

答案1

这是你的工作进程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

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

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

user@host:~# grep worker_processes /etc/nginx/nginx.conf
worker_processes 4;

相关内容