Nginx

Nginx是一款轻量级的web服务器、反向代理服务器。
特点:内存占用少,启动快,高并发能力强。
方向代理:外网不能直接访问到api,需要通过nginx进行请求转发,间接地访问。
在这里插入图片描述

Nginx的Master-Worker模式

在查询nginx的进程时通常会显示master和其他worker的nginx进程
在这里插入图片描述
在这里插入图片描述
worker个数可在nginx.conf中设置:worker_processes 2;该数字即为worker数。

master进程的作用:读取并验证配置文件nginx.conf;管理worker进程;master进程只有一个,worker可以有多个。
worker进程的作用:worker才是真正处理请求的进程,每个worker进程都维护一个线程(避免线程切换),处理连接和请求;worker个数可在nginx.conf中设置:worker_processes 2;该数字即为worker数,一般和cpu个数有关。并且,worker是以普通用户的身份运行的,增加了程序的安全性。

Nginx热部署

当通知master重读配置文件时,master会进行语法判断,如果存在语法错误,则返回错误,不进行装载;如果语法正确,也不会立即将新的配置装载到其它worker中,而是旧worker处理完请求后,将旧配置的worker杀死,新的请求使用新配置创建新的worker进行处理。

Nginx高并发下的高效处理

IO操作的请求比较耗时,如果一直等待处理完再处理下一个请求,这无疑是非常低效的。
Nginx采用了Linux的epoll模型,epoll模型基于事件驱动机制,可以监控多个事件是否准备完毕,如果完毕,就放到epoll队列中(异步),worker只需要从epoll队列中循环处理。

Nginx挂了怎么办

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

  1. 请求先通过Keepalived(这就是所谓虚拟IP,VIP),不直接打到Nginx上;
  2. Keepalived监控Nginx的生命状态(提供一个自定义的脚本,定期检查Nginx进程状态,进行权重变化,实现Nginx的故障切换)
    在这里插入图片描述
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值