zoukankan      html  css  js  c++  java
  • nginx重载配置文件

    一、

         nginx在开发中被越来越多的使用到,负载均衡,统一网关、静态资源服务器等等,

      这里要说的是一个命令,通过这个命令来实现,服务的热部署,热部署的原理就是通过其多进程模型实现

     来看看多进程模型的解释(这里摘录其他博主的文章):

    Nginx 在启动后,会有一个 master 进程和多个 worker 进程。
    
    master 进程主要用来管理worker 进程,包括接收来自外界的信号,向各 worker 进程发送信号,监控 worker 进程的运行状态以及启动 worker 进程。
    
    worker 进程是用来处理来自客户端的请求事件。多个 worker 进程之间是对等的,它们同等竞争来自客户端的请求,各进程互相独立,一个请求只能在一个 worker 进程中处理。worker 进程的个数是可以设置的,一般会设置与机器 CPU 核数一致,这里面的原因与事件处理模型有关
    
    Nginx 的进程模型,可由下图来表示:

    通过上图所示的进程之间的关系:

    这种设计带来以下优点:

    1) 利用多核系统的并发处理能力

    现代操作系统已经支持多核 CPU 架构,这使得多个进程可以分别占用不同的 CPU 核心来工作。Nginx 中所有的 worker 工作进程都是完全平等的。这提高了网络性能、降低了请求的时延。

    2) 负载均衡

    多个 worker 工作进程通过进程间通信来实现负载均衡,即一个请求到来时更容易被分配到负载较轻的 worker 工作进程中处理。这也在一定程度上提高了网络性能、降低了请求的时延。

    3) 管理进程会负责监控工作进程的状态,并负责管理其行为

    管理进程不会占用多少系统资源,它只是用来启动、停止、监控或使用其他行为来控制工作进程。首先,这提高了系统的可靠性,当 worker 进程出现问题时,管理进程可以启动新的工作进程来避免系统性能的下降。其次,管理进程支持 Nginx 服务运行中的程序升级、配置项修改等操作,这种设计使得动态可扩展性、动态定制性较容易实现。

    我们呢就是通过这个特点来热切换配置文件实现服务部署等操作。

    二、  实现的步骤:

        1.修改原配置文件并上传到nginx的配置文件位置

        2.部署新项目到服务器(不要和原服务在同一端口)

        3.切换到sbin目录下(该目录下有可执行的nginx的二进制文件)执行  :nginx  -s  reload   命令

        4.打完收工 ,可以查看服务的启动情况 netstat  -lptn  命令

        5.通过nginx访问新服务测试

        服务热部署搞定!!!!

     ps:本文有摘抄其他博主的部分这里贴出连接   https://www.cnblogs.com/kkzhilu/p/13637077.html  

  • 相关阅读:
    [NOIP2010] 引水入城
    BZOJ 3038 线段树
    [Tyvj 1728]普通平衡树 5种姿势 (彩蛋)
    BZOJ 1588: [HNOI2002]营业额统计
    BZOJ 2141 排队 线段树套替罪羊
    BZOJ 3629 [JLOI2014] 聪明的燕姿 dfs
    P1546 [USACO3.1]最短网络 Agri-Net(洛谷)
    并查集详解+模板
    sync_with_stdio和cin.tie(0); cout.tie(0);
    拓扑排序详解
  • 原文地址:https://www.cnblogs.com/yifachen/p/13645283.html
Copyright © 2011-2022 走看看