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  

 

posted @ 2020-09-10 13:58  少侠砍人不用刀  阅读(1490)  评论(0编辑  收藏  举报