Nginx

Nginx与Apache的对比

Apache一个线程只能处理一个请求,并且是阻塞式的
Nginx一个线程可以处理多个请求,并且是非阻塞式的

Nginx

职责
  1. 静态资源服务
  2. 反向代理
  3. API服务
    在这里插入图片描述
    在这里插入图片描述
优势
  1. 高并发,高性能
  2. 扩展性好
  3. 异步非阻塞的事件驱动模型
  4. 高可靠性
  5. 热部署、平滑升级
  6. BSD许可证,允许二次开发
    在这里插入图片描述
    master 不处理用户请求,只用来监控worker process是否不工作了,如果不工作了,就重新开始那个进程,以保持进程结构,只有worker process负责处理用户请求。
    master下的子进程是通过共享内存进行通信的。

在这里插入图片描述
sigchild 如果子进程挂了,会给父进程发信号
sighup 使进程重新读取配置文件

worker进程的数量

默认情况下nginx.conf 配置文件中,worker_processesde 默认值为auto,也就是cpu有几核就有几个worker进程。

配置文件重载

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

热部署

在这里插入图片描述
在这里插入图片描述
之所以发送WINCH信号是因为发送QUIT信号会导致master和worker子进程退出。WINCH会将worker子进程退出来避免接收新的用户请求,从而保证新请求都能路由到新的master上
在这里插入图片描述
实际操作

  1. 先去安装目录下把Nginx备份cp nginx nginx.bak
  2. kill -s SIGUSR2 23098在这里插入图片描述
    已经新开启了一个master进程
    会发现它生成了nginx.pid 来记录当前主进程的号,还会生成nginx.pid.oldbin来记录之前的号
  3. 使用WINCH给旧进程发送信号量
  4. 若对新的nginx验证用过就可以kill旧的进程
  5. 如果不通过,就可进行回滚kill -s SIGHUP 旧的进程号
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值