Nginx服务器的平滑启动、平缓停止、平滑升级
注: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服务器的平滑启动、平缓停止、平滑升级的更多相关文章
- nginx 的安装、启动、停止与重启
一.nginx 基本介绍 1.Nginx 是单进程单线程模型,也就是启动的工作进程只有一个线程响应客户端请求,而 apache 可以在一个进程内启动多个线程响应客户端请求.所以 nginx 的内存占用 ...
- Nginx常用命令(启动/重启/停止/测试配置文件/重新加载配置文件)
Nginx 安装后只有一个程序文件,本身并不提供各种管理程序,它是使用参数和系统信号机制对 Nginx 进程本身进行控制的. Nginx 的参数包括有如下几个: 使用: /usr/local/ngin ...
- Nginx的验证、启动、停止、重启
验证 验证nginx配置文件是否正确,进入sbin目录,输入以下命令: ./nginx -t 启动 进入sbin目录,输入以下命令: ./nginx -c /home/mppay/nginx/con ...
- 【学习笔记】启动Nginx、查看nginx进程、查看nginx服务主进程的方式、Nginx服务可接受的信号、nginx帮助命令、Nginx平滑重启、Nginx服务器的升级
1.启动nginx的方式: cd /usr/local/nginx ls ./nginx -c nginx.conf 2.查看nginx的进程方式: [root@localhost nginx] ...
- 启动Nginx、查看nginx进程、nginx帮助命令、Nginx平滑重启、Nginx服务器的升级
1.启动nginx的方式: cd /usr/local/nginx ls
- Nginx 的启动、停止、平滑重启、信号控制和平滑升级
Nginx 的启动 假设 nginx 安装在 /usr/local/nginx 目录中,那么启动 nginx 的命令就是: [root@localhost ~]# /usr/local ...
- Nginx 启动、停止、平滑重启和平滑升级 graceful shutdown of worker processes
Controlling nginx http://nginx.org/en/docs/control.html nginx can be controlled with signals. The pr ...
- Nginx启动、停止与平滑重启
如何启动Nginx:/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf 停止Nginx:可以发送向通信号给Nginx主进程的 ...
- Nginx学习——Nginx启动、停止、重启和信号控制以及平滑升级
1.Nginx 启动与停止 (1)启动方式 启动格式:Nginx可执行文件地址 -c Nginx配置文件地址 /etc/local/nginx/sbin/nginx -c /root/dufy/ngi ...
随机推荐
- redis 适用场景、缓存选择、java实现
redis适用场景 查询多,修改少:如国家地区信息.商品分类.数据字典 缓存选择 hibernate二级缓存.mybatis二级缓存.redishibernate二级缓存.mybatis二级缓存默认不 ...
- linux yum list、search、-y、install、update、remove、grouplist、groupinstall、groupremove
redhat使用yum需要付费yum安装的也是rpm包 centos的网络yum源默认已经配置好了,连接的是centos官方yum源,在国外,网速慢 yum源配置在/etc/yum.repos.d下 ...
- maven windows环境nexus3.0私服搭建
下载 nexus3.x.x 需要JDK1.8版本到sonatype官网下载开源免费的OSS版本,OSS即为Open Source Software.下载地址:https://www.sonatype. ...
- Pig类型转换
users.data的内容如下: lisg 28 75 dengsl 24 88 强制类型转换 users = load '/users.data' fehed = foreach users gen ...
- LeetCode 题解之Minimum Index Sum of Two Lists
1.题目描述 2.问题分析 直接是用hash table 解决问题 3.代码 vector<string> findRestaurant(vector<string>& ...
- Ionic Css样式详解
Header是固定在屏幕顶部的组件.可以包含如标题和左右的功能按钮.Sub Header同样是固定在顶部,只是是在Header的下面,就算没有写Header这个,Sub Header这个样式也会距离顶 ...
- SQLSERVER2012里的扩展事件初尝试(下)
SQLSERVER2012里的扩展事件初尝试(下) SQLSERVER2012里的扩展事件初尝试(上) 我们继续文章扩展事件在Denali CTP3里的新UI(二)里的这个实验 脚本文件下载:http ...
- 数据契约(DataContract)里的DataMember特性
数据契约(DataContract) 服务契约定义了远程访问对象和可供调用的方法,数据契约则是服务端和客户端之间要传送的自定义数据类型. 一旦声明一个类型为DataContract,那么该类型就可 ...
- node环境和浏览器的区别
一.全局环境下this的指向 在node中this指向global而在浏览器中this指向window,这就是为什么underscore中一上来就定义了一 root: 1 var root = typ ...
- asar 如何解密加密?electron 的 asar 的具体用法
来源:https://newsn.net/say/electron-asar.html 在electron中,asar是个特殊的代码格式.asar包里面包含了程序猿编写的代码逻辑.默认情况下,这些代码 ...