Nginx 全局块配置 worker 进程的两个指令

1. 前言

熟悉 nginx 运行原理的都知道,nginx 服务启动后,会有一个 master 进程和多个 worker 进程,master 进程负责管理所有的 worker 进程,worker 进程负责处理和接收用户请求

在这里我们所要研究的是 master 进程一定要创建 worker 进程吗 ?以及能够创建多少个 worker 进程呢 ?

这些内容其实我们都可以通过修改 nginx 的配置文件来进行指定,接下来我们来学习一些相关的配置指令

2. master_process

master_process 是全局块配置,配置文件中默认没有该参数,用来指定是否开启 worker 进程

 
  1. # 开启(默认值)
  2. master_process on;
  3. # 关闭
  4. master_process off;

打开 nginx.conf 文件,添加 master_process 指令关闭 worker 进程

 
  1. # 编辑 nginx.conf
  2. vim /usr/local/nginx/conf/nginx.conf
  3. # 添加内容
  4. master_process off;
  5. # 查看 nginx.conf 前 7 行
  6. cat /usr/local/nginx/conf/nginx.conf | head -n 7

一般情况下,修改配置文件后,运行重载配置命令后就会生效,但是 master_process 不会生效

 
  1. /usr/local/nginx/sbin/nginx -s reload

必须重启 nginx 服务才会生效,也就是先停止 nginx 服务,再重新启动 nginx 服务

 
  1. /usr/local/nginx/sbin/nginx -s stop
  2. /usr/local/nginx/sbin/nginx
  3. ps -ef | grep nginx

3. worker_processes

worker_processes 也是全局块配置,用于配置 nginx 生成 worker 进程的数量,是 nginx 实现并发处理服务的关键所在

理论上来说,worker_processes 的值越大,生成的 worker 进程的数量就越多,可以支持的并发处理量也越多

但事实上,这个值的设定会受到来自服务器本身的限制,实际配置过程中,关于它的配置,内核数,磁盘,服务器的负载等等都有相关因素,不能因为某一个元素来决定配置多少个数量,建议将该值和服务器 CPU 的内核数保持一致

配置示例:

 
  1. # 生成两个 worker 进程(默认值)
  2. worker_processes 1;
  3. # 生成两个 worker 进程
  4. worker_processes 2;
  5. # 自动分配
  6. worker_processes auto;

测试效果:将 worker_processes 的数量修改为 2

重载配置是不生效的,需要重启 nginx 服务,然后查看 nginx 相关进程即可

 
  1. /usr/local/nginx/sbin/nginx -s stop
  2. /usr/local/nginx/sbin/nginx
  3. ps -ef | grep nginx

  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

超酷的站长

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值