Nginx的进程模型

当启动nginx后,默认情况下会有两个进程,我们使用ps -ef | grep nginx查看一下:
在这里插入图片描述
我们可以看到有一个master进程,有一个worker进程

  • master进程:主进程,相当于一个领导者,用来管理worker进程,master接收外界的信号,然后分发给worker进程,比如:
./nginx -s stop
./nginx -s quit
./nginx -s reload
./nginx -t
  • worker进程:工作进程,相当于一个工作者,是实际工作的角色,相当于为master服务,worker会连接很多的客户端请求并且响应数据,和后端服务进行通信

其中worker进程是可以配置数量的,怎么配置呢?我们打开nginx.conf文件找到如下配置:

worker_processes  1;

通过控制worker_processes 的值的大小就可以控制worker的进程数,比如修改为2,然后执行./nginx -s reload,进程数如下:
在这里插入图片描述
master进程和worker进程的这种多进程模型的好处:

  • 如果是多线程的模型,线程之间是有影响的,共用一个内存,需要开发人员自己维护内存管理;
  • 多进程模型的话,虽然比多线程模型占用更多的内存和CPU资源,但是进程之间相互独立,不会相互影响,一旦一个进程出问题了,关闭就可以,不会影响其他进程的运行,而多线程的模型就会整体关闭;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值