为什么nginx有3个流程?
我的操作系统是ubuntu,我使用ps-aux | grep nginx,找到3个nginx的进程,我的问题是为什么nginx有3个进程?似乎一个进程是根进程,另两个进程来自www数据为什么nginx有3个流程?,nginx,nginx-config,Nginx,Nginx Config,我的操作系统是ubuntu,我使用ps-aux | grep nginx,找到3个nginx的进程,我的问题是为什么nginx有3个进程?似乎一个进程是根进程,另两个进程来自www数据 root 7833 0.0 0.0 126092 1476 ? Ss 12:32 0:00 nginx: master process /usr/sbin/nginx -g daemon on; master_process on; www-data 7834 0.0
root 7833 0.0 0.0 126092 1476 ? Ss 12:32 0:00 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
www-data 7834 0.0 0.0 126504 3124 ? S 12:32 0:00 nginx: worker process
www-data 7835 0.0 0.1 126504 5068 ? S 12:32 0:00 nginx: worker process
根进程是nginx访问网络和系统上文件所必需的 其他两个进程在配置文件中设置。看看这里,您将看到一个设置,它取决于服务器上处理器中的内核数量。随着访问量的增加,对服务器的访问增加,可用进程越多,意味着计算能力越强
有可能(我不记得)两个进程是默认设置。作为
根运行的进程是主NGINX进程。
另外两个是辅助进程
在NGINX服务启动过程中,主进程是第一个启动的进程。
它跨越了实际处理连接的工作进程
主进程以root用户身份运行,以便能够执行绑定到特权网络端口、在配置加载期间读取TLS证书/密钥等操作
工作进程已放弃特权,因为它们只需要能够读取网站文件
工作进程的数量可以通过配置指令进行控制。默认值为1
。这意味着在具有默认配置的系统上,您将看到总共2个进程(1个主进程和1个工作进程)
工作进程越多,web服务器在多核系统上可以处理的连接就越多
例如,您有4核CPU。通过设置worker\u进程4代码>确保所有核心都被用于处理连接,这样可以在繁忙的网站上提高性能
此外,您可以只设置worker\u进程自动代码>。这将使NGINX确定逻辑CPU单元的数量,并设置与之对应的工作线程的数量