注:Nginx服务在运行时,会保持一个主进程(master process)和一个或多个工作进程(worker process)。
每一个进程都会有一个PID进程号,可以通过向主进程的PID进程号发送信号关闭服务器。
Nginx服务器启动后,默认在Nginx服务器安装目录的logs目录中会产生文件名为nginx.pid的文件,此文件中保持的就是nginx服务主进程的PID。

nginx服务器可接收的信号:
TERM 或 INT 快速停止nginx服务器。
QUIT 平缓停止nginx服务器。
HUP 平滑重启,使用新的配置文件启动进程,平缓的停止原有进程,
USR1 重新打开日志文件,常用于日志切割。
USR2 平滑升级,使用新版本的Nginx文件启动服务,平缓的停止原有Nginx进程。
WINCH 平缓停止worker process,用于Nginx服务器平滑升级。

1.快速停止nginx服务器
(1) kill -TERM `cat /usr/local/nginx/logs/nginx.pid`
(2) kill -INT `cat /usr/local/nginx/logs/nginx.pid`

2.平缓停止nginx服务器
kill -QUIT `cat /usr/local/nginx/logs/nginx.pid`

3.平滑重启nginx服务器
(1) kill -HUP `cat /usr/local/nginx/logs/nginx.pid`
(2) /usr/local/nginx/sbin/nginx -s reload

4.平缓停止工作进程
kill -WINCH `cat /usr/local/nginx/logs/nginx.pid`

5.强制停止nginx
pkill -9 nginx

6.停止nginx服务器的命令
(1) /usr/local/nginx/sbin/nginx -s stop
(2) pkil nginx

7.检查对nginx.conf文件的修改是否正确
(1) nginx -t -c /usr/local/nginx/conf/nginx.conf
(2) /usr/local/nginx/sbin/nginx -t
--------------------------------------------------
nginx服务器平滑升级过程如下:
注:为实现nginx服务器的平滑升级,新的服务器安装路径应该和旧的保持一致。因此建议用户安装新服务器之前先备份旧的服务器。
1.编译新版本的nginx
(1) tar -xvf nginx-1.14.2.tar.gz #解压
(2) cd nginx-1.14.2 #进入解压后的目录
(3) ./configure --prefix=/usr/local/nginx #预编译路径和老版本的安装路径保持一致。
(4) make #编译

2.备份旧版本可执行nginx,复制新版本的nginx可执行nginx
mv /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.old #备份
cp objs/nginx /usr/local/nginx/sbin/ #复制新版本可执行文件
/usr/local/nginx/sbin/nginx -t #测试新版本是否正常

3.平滑重启升级nginx
kill USR2 ` cat /usr/local/nginx/log/nginx.pid` 或 /usr/local/nginx/sbin/nginx -g USR2 #发送平滑升级的信号
kill -WINCH `cat /usr/local/nginx/log/nginx.pid` 或 /usr/local/nginx/sbin/nginx -g WINCH #发送平缓停止旧服务器的信号
/usr/local/nginx/sbin/nginx -V #显示最新编译的版本信息即可。

Nginx服务器的平滑启动、平缓停止、平滑升级的更多相关文章

  1. nginx 的安装、启动、停止与重启

    一.nginx 基本介绍 1.Nginx 是单进程单线程模型,也就是启动的工作进程只有一个线程响应客户端请求,而 apache 可以在一个进程内启动多个线程响应客户端请求.所以 nginx 的内存占用 ...

  2. Nginx常用命令(启动/重启/停止/测试配置文件/重新加载配置文件)

    Nginx 安装后只有一个程序文件,本身并不提供各种管理程序,它是使用参数和系统信号机制对 Nginx 进程本身进行控制的. Nginx 的参数包括有如下几个: 使用: /usr/local/ngin ...

  3. Nginx的验证、启动、停止、重启

    验证 验证nginx配置文件是否正确,进入sbin目录,输入以下命令: ./nginx -t  启动 进入sbin目录,输入以下命令: ./nginx -c /home/mppay/nginx/con ...

  4. 【学习笔记】启动Nginx、查看nginx进程、查看nginx服务主进程的方式、Nginx服务可接受的信号、nginx帮助命令、Nginx平滑重启、Nginx服务器的升级

     1.启动nginx的方式: cd /usr/local/nginx ls ./nginx -c nginx.conf 2.查看nginx的进程方式: [root@localhost nginx] ...

  5. 启动Nginx、查看nginx进程、nginx帮助命令、Nginx平滑重启、Nginx服务器的升级

    1.启动nginx的方式: cd /usr/local/nginx ls

  6. Nginx 的启动、停止、平滑重启、信号控制和平滑升级

    Nginx 的启动         假设 nginx 安装在 /usr/local/nginx 目录中,那么启动 nginx 的命令就是: [root@localhost ~]# /usr/local ...

  7. Nginx 启动、停止、平滑重启和平滑升级 graceful shutdown of worker processes

    Controlling nginx http://nginx.org/en/docs/control.html nginx can be controlled with signals. The pr ...

  8. Nginx启动、停止与平滑重启

    如何启动Nginx:/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf 停止Nginx:可以发送向通信号给Nginx主进程的 ...

  9. Nginx学习——Nginx启动、停止、重启和信号控制以及平滑升级

    1.Nginx 启动与停止 (1)启动方式 启动格式:Nginx可执行文件地址 -c Nginx配置文件地址 /etc/local/nginx/sbin/nginx -c /root/dufy/ngi ...

随机推荐

  1. 润乾报表JSF FORM 标签中使用填报表解决方案

     需求 润乾报表的标签需要在jsf页面中和其他填报控件一起使用,润乾报表负责展现录入部分数据,并且这部分数据和页面的其它控件的数据存在前台和后台的交互. 问题 润乾报表在前台会生成自己的form, ...

  2. 对JDBC的轻量级封装,Hibernate框架

    IDEA是真的好用... 用脑子下jar包..http://mvnrepository.com/

  3. Oracle EBS 报错 您不具有分配给您的清除MDS的权限

  4. MySql EF6 DBFirst 向导无法生成 edmx 解决方法(同:您的项目引用了最新实体框架;但是,找不到数据链接所需的与版本兼容的实体框架数据库提供程序)

    使用 MySql EF6 DBfirst 生成模型时经常会遇到EF6模式无法选择的情况究其原因, 还是因为没有正确的使用 Connector/Net. 下面说一下使用方法. 使用 MySql DBFi ...

  5. python下载指定的版本包

    首先我们很多时候在执行pip的时候是不行的  有时候很难成功,这个时候我们就要想其他的版本了 一.是不是这个包需要指定版本, 比如python2的和mysql链接的是,而python3则是mysqlc ...

  6. [翻译] ios-image-filters

    ios-image-filters https://github.com/esilverberg/ios-image-filters photoshop-style filter interface ...

  7. zabbix日常监控项java(四又分之一)

    因zabbix自带监控JMX的模板通用性差的问题,需要我们自己新建一个属于自己的模板,于是本文就出现了.... 大部分都是参考网上其他博主的文档,在此作为梳理.总结:以方便自己日后使用查询.

  8. 你可能不知道的 10 条 SQL 技巧,涨知识了!

    转自:http://mp.weixin.qq.com/s?__biz=MjM5NzM0MjcyMQ==&mid=2650076293&idx=1&sn=38f6acc759df ...

  9. React-Router JS控制路由跳转

    React-Router JS控制路由跳转 时间: 2016-04-12 15:01:20 作者: zhongxia React-Router 控制路由跳转的方式,目前知道的有两种[Link 链接, ...

  10. SDN 第一次作业

    你会选择作 网络编程 方向的程序员吗?为什么? 答: 可能会选择吧.看了那篇文章感觉网络编程的程序员和其他的程序员都并不简单,网络编程的程序员可能更要对网络的知识更加了解.我现在也有机会能接触网络方向 ...