【nginx原理】企业中使用nginx必须知道的那些事

本文详细介绍了Nginx的进程模型,包括master-worker模式和解决惊群现象的方法。探讨了Nginx的事件模型,强调了其在高并发下的性能优势。文章还阐述了正向代理和反向代理的概念及其区别,并讨论了Nginx在企业中的实用技能,如平滑升级、打压测试和动静分离。此外,提到了Nginx作为缓存的工作原理以及四层负载和七层负载均衡的概念。
摘要由CSDN通过智能技术生成

前言

本文是nginx原理篇,包含了nginx能用来做负载均衡,缓存,动静分离的原理:

nginx 的安装可以参考:

  1. 【Linux】CentOS7操作系统安装nginx实战(多种方法,超详细)

  2. 【编译安装】使用CentOS7安装编译安装nginx-1.22版本实战

nginx的使用:

  1. 【nginx实战】nginx实现虚拟主机及访问认证实战

  2. 利用nginx实现动静分离的负载均衡集群实战

  3. 手把手演示Ngnix+Tomcat实现动静分离

  4. 【shell脚本】nginx服务管理及存活检测脚本实战

一. nginx原理:

1.1 进程模型

nginx默认采用的是多进程 master-worker模式, 以及IO多路复用模型

nginx启动后,会有一个master和多个互相独立的worker进程,master进程主要用来管理worker进程,主要包含:

  • 接收外界信号
  • 向各个worker进程发送信号
  • 监控woker进程的进程状态
  • 当worker进程退出后(异常情况下),会自动重新启动新的worker进程

基本的网络事件,都是放在worker进程中进行处理,多个worker进行之间是相互独立的,它们同等的竞争来自客户端的请求。

worker进程的功能:

  • 多个worker一起竞争来自客户端的请求
  • 一个请求只能在一个worker中进行处理
  • woker的进程的个数是可以设置的,一般我们会设置的与机器的cpu核心数一致。
    在这里插入图片描述

在上图中可以看到: 我们的master接收外界信号,然后根据信号做不同的事情,如果想要控制nginx,只需要控制master即可。

master进程在接收到HUP信号后是怎么做的呢?

HUP 信号值得是重新加载配置,服务不会中断,类似于 nginx -s reload;

整个过程是这样的:

  • master进程在接到信号后,会先重新加载配置文件
  • 启动新的worker进程,并向所有老的worker进程发送信号,终止老的work进程
  • 在新的worker在启动后,就可以以新的配置文件来接收新的请求了。
  • 而老的worker在收到来自master的信号后,就不再接收新的请求,并且在当前进程中的所有未处理完的请求处理完成后,退出。

如下图:
在这里插入图片描述

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值