zoukankan      html  css  js  c++  java
  • nginx工作模式

    一、nginx工作原理

    1.nginx采用异步非阻塞的工作方式

    epoll模型:当I/O事件发生时,epoll就会告诉进程哪个事件由I/O事件产生,然后进程就会处理这个事件。

    nginx配置use epoll后,以异步非阻塞方式工作,能够处理百万计的并发连接。

    2.处理过程:

    每进来一个请求,会由一个工作进程去处理,但不是全程进行处理,处理可能会发生阻塞的情况

    比如:向后端服务器转发请求,那么这个处理的工作进程不会一直等待,它会在发送完请求后,注册一个事件等待后端服务器返回;

    此时,再有新的请求,这个worker就很快按照这个方式处理;

    而一旦后端服务器返回信息,就会触发这个事件,worker就会进行处理,这个请求才会接着往下走;

    通过这种<快速处理并快速释放请求>的方式,达到同样的配置可以处理更大并发的目的。

    二、nginx的工作模式

    1.master-worker模式

    nginx启动成功后,会有一个master进程和至少一个worker进程;

    master进程负责处理系统信号,加载配置、管理worker进程;

    worker进程负责处理具体的业务逻辑;

    对于外部来说,真正提供服务的是worker进程;

    优点:

    • 稳定性高:一个worker进程挂掉后master进程会立即启动一个新的worker进程,保证worker进程数量不变,降低服务中断的概率;
    • 配合linux的cpu的亲和性的匹配中,可以充分利用多核cpu的优势,提升性能;
    • 处理信号、配置重新加载等可以做到尽可能不中断服务;

    2.单进程模式

    nginx只有一个进程,nginx所有工作都由这个进程负责

    优点:可以很方便的利用gdb工具进行调试

    缺点:

    • 不支持平滑升级
    • 任何的信号处理都可能造成服务中断
    • 进程挂掉后,在没有外部监控的情况下,无法重启服务
    • 生产环境中不会使用

    原文地址:https://www.cnblogs.com/ccku/p/13531081.html

  • 相关阅读:
    【CSP2019模拟】题解
    【Codeforces 868 G】— El Toll Caves(类欧几里得)
    【Codeforces 868 G】— El Toll Caves(类欧几里得)
    如何写出规范的代码? 做一名追求极致的软件工程师!
    浏览器原理
    URL(待整合到HTTP书中哦)
    FTP服务器
    background-image 和 img
    XML的总结学习
    逻辑思维 代码逻辑
  • 原文地址:https://www.cnblogs.com/shier-dong/p/15330478.html
Copyright © 2011-2022 走看看