Nginx工作实战

1、Nginx如何做到热部署?

热部署,就是配置文件nginx.conf修改后,不需要stop Nginx,不需要中断请求,就能让配置文件生效!(nginx -s reload 重新加载/nginx -t检查配置/nginx -s stop)

首先我们要知道nginx的master-worker模式

启动Nginx后,就是在80端口启动了Socket服务进行监听,worker进程负责处理具体的请求,那么如果想达到热部署的效果,那就有以下两种方式:

①修改配置文件nginx.conf后,主进程master负责推送给woker进程更新配置信息,woker进程收到信息后,更新进程内部的线程信息。

②修改配置文件nginx.conf后,重新生成新的worker进程,当然会以新的配置进行处理请求,而且新的请求必须都交给新的worker进程,至于老的worker进程,等把那些以前的请求处理完毕后,kill掉即可。实际生产中就是以该种方式进行热部署的。

2、Nginx如何做到高并发下的高效处理?
Nginx的worker进程个数会与CPU绑定、worker进程内部包含一个线程高效回环处理请求,这的确有助于效率,但这是不够的。高并发的方式有异步/同步、阻塞/非阻塞......但是要同时处理那么多的请求,要知道,有的请求需要发生IO,可能需要很长时间,如果等着它,就会拖慢worker的处理速度。
Nginx采用了Linux的epoll模型,epoll模型基于事件驱动机制,它可以监控多个事件是否准备完毕,如果OK,那么放入epoll队列中,这个过程是异步的。worker只需要从epoll队列循环处理即可。

3、Nginx挂了怎么办?

高可用!!!

Keepalived是一个高可用解决方案,主要是用来防止服务器单点发生故障,可以通过和Nginx配合来实现Web服务的高可用。Keepalived+Nginx实现高可用的思路:

①请求不要直接打到Nginx上,应该先通过Keepalived(这就是所谓虚拟IP,VIP)

②Keepalived应该能监控Nginx的生命状态(提供一个用户自定义的脚本,定期检查Nginx进程状态,进行权重变化,,从而实现Nginx故障切换)

4、正向代理

Nginx入门_秋为春的博客-CSDN博客

5、反向代理

Nginx入门_秋为春的博客-CSDN博客

6、Nginx限流

Nginx官方版本限制IP的连接和并发分别有两个模块:
① limit_req_zone 用来限制单位时间内的请求数,即速率限制,采用的漏桶算法 “leaky bucket”。
② limit_req_conn 用来限制同一时间连接数,即并发限制。

详解参考死磕nginx系列--nginx 限流配置 - biglittleant - 博客园

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值