这节我们来看一下Nginx的进程模型,Nginx当我们启动它之后会有两个进程:
master进程:主进程
worker进程:工作进程
master相当于一个领导者,worker相当于工作者。worker是为master服务的,我们来看一下,通过执行ps -ef|grep nginx
可以看到Nginx的进程有两个,一个是master,另外一个是worker,这两个都是Nginx启动之后产生的两个进程。master默认情况只有一个,worker默认情况也只有一个。我么可以配置worker的进程数。
编辑/usr/local/nginx/conf目录下的nginx.conf里面的:
worker_processes 1;
我将它修改为2。
worker_processes 2;
保存之后执行:
../sbin/nginx -t
../sbin/nginx -t是用来检查Nginx配置文件语法是不是正确的。如果有语法错误,下面就会报错。
我们看到这里检测语法的时候提示是OK的。接着我们执行:
../sbin/nginx -s reload
然后在执行: ps -ef | grep nginx,可以看到有两个worker进程。
master进程会监控worker进程,如果发现worker停掉了,它会新建worker进程。
在master进程里会发出一些指令给worker进程。
指令:
./nginx -s stop
./nginx -s quit
./nginx -s reload
./nginx -t
这些指令其实都不是master进程来执行的,master进程接收到这些指令之后,会传递给worker进程去执行。



