为了账号安全,请及时绑定邮箱和手机立即绑定

nginx的保活和进程的拉起策略是怎样的呢?亲测子进程被kill掉后,瞬间就被拉起了,求老师指点~

nginx的保活和进程的拉起策略是怎样的呢?亲测子进程被kill掉后,瞬间就被拉起了,求老师指点~

C
慕设计0475446 2018-07-31 11:23:14
查看完整描述

1 回答

?
Jeson

TA贡献8条经验 获得超34个赞

这个问题,你先看下Nginx的进程信息,在linux系统上执行ps -ef|grep nginx

会出现如下的结果:

root     12241     1  0 7月17 ?       00:00:00 nginx: master process nginx -c /etc/nginx/nginx.conf

nginx    23214 12241  0 7月19 ?       00:00:00 nginx: worker process

nginx    23215 12241  0 7月19 ?       00:00:00 nginx: worker process


其中,master这个进程是Nginx服务启动后的主进程,也是这些进程中的父进程,是操作系统root超级用户运行的。

所以:其他的Nginx进程就是自进程了,它们的产生就是由主进程,派生出来的。master这个进程负责的工作有:读取和校验配置文件;创建、绑定、关闭套接字;启动、终止、维护所配置数目的worker进程;不中断服务刷新配置文件;不中断服务升级程序(启动新程序或在需要时回滚)等等

worker进程,就是自进程了,他就是真正的Nginx里边工作并且处理请求的单元,我们一般会设置固定的数量。


这个master会向worker不断的发送信号量,通信并且获取进程的运行状态,当worker进程退出后(异常情况下),会自动重新启动新的worker进程。


查看完整回答
2 反对 回复 2018-07-31
  • 慕设计0475446
    慕设计0475446
    没懂发信号量。那worker被干掉或者异常退出,master是如何感知到的呢?比如有的web容器是60s保活,每过60s就有一次心跳上报,nginx这里是如何做的呢?
  • 1 回答
  • 0 关注
  • 1663 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信