nginx的平滑启动和部署环境

01

什么是Nginx
Nginx是一个性能的HTTP和反向代理web服务器,同时提供IMAP/POP3/SMTP服务。
02

两个核心能力
1.静态资源服务器
2.反向代理
在这里插入图片描述

Nginx与Apache比较
Apache: 一个进程处理一个请求;阻塞式
Nginx: 一个进程处理多个请求;非阻塞式;
Nginx优势
高并发
扩展性好
异步非阻塞的事件驱动模型
高可用性
下图介绍常见的三种应用场景
在这里插入图片描述
在这里插入图片描述
信号量管理Nginx的master和worker
Master进程
1.监控worker进程,接收CHLD信号
2.管理worker进程
3.接收信号,TERM,INT,QUIT等待当前用户请求结束后再平滑关闭,HUP配置文件修改,USR1重新打开日志文件
worker进程
接收信号:TERM,INT,QUIT,USR1,WINCH
命令行,本质上还是发送信号给Nginx
nginx -s
reload:HUP
reopen:USR1
stop:TERM
quit:QUIT
06

平滑重启什么意思
平滑重启指的是Nginx重新加载配置文件,或者给nginx升级的时候可以不用停止业务。
重载配置文件的流程
1.向master进程发送HUP信号(reload命令)
2.master进程检查配置语法是否正确(也可通过nginx -t来检查语法)
3.master进程打开监听端口
4.master进程使用新的配置文件启动新的worker子进程
5.master进程向老的worke子进程发送QUIT信号
6.老的worker进程关闭监听句柄,处理完当前连接后关闭进程
07

Nginx热部署
热部署指的是版本升级可以不停止业务
1.将旧的nginx文件替换成新的nginx文件
2.向master进程发送USR2信号
3.master进程修改pid文件,加后缀.oldbin。nginx.pid.oldbin中记录老的pid
4.master进程用新nginx文件启动新master进程。此时新老nginx并存,同时处理用户请求。
5.向旧的master进程发送WINCH信号,旧的worker子进程退出。
发送WINCH信号,旧的master下的子进程先退出。确保新的请求都是使用新的master下的子进程
6.回滚情况:向旧master发送HUP,向新的master发送QUIT型号
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值