nginx信号及平滑升级
1、nginx信号
nginx进程处理命令:
kill -signals PID
PID即nginx进程ID
signals的参数解释如下所示:
TERM,INT快速关闭进程
QUIT优雅的关闭,如果有请求则等待请求结束后停止
HUP 重载新的配置文件,对于旧的进程还用旧的配置文件,新的进程会使用新的配置文件
USR1重新打开日志文件,常用于日志切割
USR2 使用新版本的 Nginx 文件启动服务,之后平缓停止原有的 Nginx 进程,也就是所谓的“平滑升级”
WINCH平缓停止 worker process,用于 Nginx 服务器平滑升级
对于信号可以参考官网:
http://nginx.org/en/docs/control.html
2、平滑升级nginx
查看现在nginx的版本和编译参数
# ./sbin/nginx -V
nginx version: nginx/1.14.2
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-36) (GCC)
built with OpenSSL 1.1.0k 28 May 2019
TLS SNI support enabled
configure arguments: --prefix=/data/usr/nginx --with-zlib=/data/usr/src/zlib-1.2.11 --with-openssl=/data/usr/src/openssl-1.1.0k --with-pcre=/data/usr/src/pcre-8.41 --with-http_ssl_module --with-stream --with-stream_ssl_module
下载新版本nginx并上传到服务器
解压并编译
# tar -zxvf nginx-1.16..tar.gz -C /data/usr/src # cd /data/usr/src/nginx-1.16. # ./configure --prefix=/data/usr/nginx --with-zlib=/data/usr/src/zlib-1.2. --with-openssl=/data/usr/src/openssl-1.1.0k --with-pcre=/data/usr/src/pcre-8.41 --with-http_ssl_module --with-stream --with-stream_ssl_module
执行make但是不要执行make install
# make
备份老的nginx启动文件,并拷贝新的文件
# cp /data/usr/nginx/sbin/nginx /data/usr/nginx/sbin/nginx.bak # pwd /data/usr/src/nginx-1.16. # cp -rpf objs/nginx /data/usr/nginx/sbin/nginx
使用新nginx启动文件,旧的nginx.pid文件添加后缀.oldbin,变为nginx.pid.oldbin,然后执行新版本的二进制文件启动服务,新的nginx启动后将会有新旧两个版本的服务提供服务。
# kill -USR2 `cat /data/logs/nginx/nginx.pid`
# ll /data/logs/nginx/nginx*
-rw-r--r-- 1 root root 5 Sep 2 18:56 /data/logs/nginx/nginx.pid
-rw-r--r-- 1 root root 5 Sep 2 18:51 /data/logs/nginx/nginx.pid.oldbin
平缓停止worker process ,平缓停止旧的nginx服务
# kill -WINCH `cat /data/logs/nginx/nginx.pid.oldbin`
# kill -QUIT `cat /data/logs/nginx/nginx.pid.oldbin`
查看新版nginx的信息
# pwd
/data/usr/nginx/sbin
# ./nginx -V
nginx version: nginx/1.16.0
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-36) (GCC)
built with OpenSSL 1.1.0k 28 May 2019
TLS SNI support enabled
configure arguments: --prefix=/data/usr/nginx --with-zlib=/data/usr/src/zlib-1.2.11 --with-openssl=/data/usr/src/openssl-1.1.0k --with-pcre=/data/usr/src/pcre-8.41 --with-http_ssl_module --with-stream --with-stream_ssl_module
参考:
https://blog.csdn.net/my1114/article/details/90717591
nginx信号及平滑升级的更多相关文章
- 原创|1分钟搞定 Nginx 版本的平滑升级与回滚
Nginx无论是对于运维.开发.还是测试来说,都是日常工作需要掌握的一个知识点,之前也写过不少关于Nginx相关的文章: Nginx服务介绍与安装 Nginx服务配置文件介绍 Nginx配置虚拟主机 ...
- Nginx安装、平滑升级与虚拟机配置
Nginx 高性能HTTP反向代理服务器,也是 LAMP/POP3/SMTP代理服务器 由内核和模块组成,内核通过找配置文件讲客户端请求映射到一个location(location是Nginx配置中的 ...
- Nginx热部署 平滑升级 日志切割
1.重载 修改nginx配置文件之后,在不影响服务的前提下想加载最新的配置,就可以重载配置即可. 操作如下: 1)修改nginx配置文件 2)nginx -t 检查nginx文件语法是否有误 ...
- Nginx在线服务状态下平滑升级及ab压力测试【转】
今天,产品那边发来需求,说有个 APP 的 IOS 版本下载包需要新增 https 协议,在景安购买了免费的 SSL 证书.当我往 nginx 上新增 ssl 时,发现服务器上的 nginx 居然没编 ...
- Nginx服务器的平滑启动、平缓停止、平滑升级
注:Nginx服务在运行时,会保持一个主进程(master process)和一个或多个工作进程(worker process). 每一个进程都会有一个PID进程号,可以通过向主进程的PID进程号发送 ...
- Nginx版本平滑升级方案
背景:由于负载均衡测试服务器中nginx版本过低,存在安全漏洞,查询相关修复漏洞资料,需要采取nginx版本升级形式对漏洞进行修复. Nginx平滑升级方案 1.案例采用版本介绍 旧版本 nginx- ...
- Nginx 平滑升级、Nginx的一些基础配置
# Nginx 平滑升级 # 方案一:使用Nginx服务信号进行升级 # 1.将就版本的sbin目录下可执行nginx进行备份(mv nginx nginxold) # 2.将新版本 configur ...
- 让你的网站免费支持 HTTPS 及 Nginx 平滑升级
为什么要使用 HTTPS ? 首先来说一下 HTTP 与 HTTPS 协议的区别吧,他们的根本区别就是 HTTPS 在 HTTP 协议的基础上加入了 SSL 层,在传输层对网络连接进行加密.简单点说在 ...
- Nginx 的启动、停止、平滑重启、信号控制和平滑升级
Nginx 的启动 假设 nginx 安装在 /usr/local/nginx 目录中,那么启动 nginx 的命令就是: [root@localhost ~]# /usr/local ...
随机推荐
- 使用 lombok 简化代码
使用前的准备 1.Lombok 是一种 Java™ 实用工具,可用来帮助开发人员消除 Java 的冗长,尤其是对于简单的 Java 对象(POJO).它通过注解实现这一目的. <1>添加 ...
- websocket(python)
1.websocket-server https://github.com/google/pywebsocket git clone https://github.com/google/pywebso ...
- day01 python初识、数据类型、流程控制
今日内容大纲:1,计算机基础. cpu,内存,硬盘,操作系统.2,python的发展与应用.3,python的历史. 2008年python同时更新了两个版本 1,python2x python3x ...
- paint进阶(转)
转自:https://blog.csdn.net/cquwentao/article/details/51374994 概述 paint的基本绘制方法已经在前面的基本图形绘制中讲解了,这里做的是进阶讲 ...
- HashMap源码浅析
HashMap源码主要一些属性 //默认的初始化容量(2的n次方) static final int default_inital_capacity = 16; //最大指定容量为2的30次方 sta ...
- python 环境变量的配置
1. 打开python安装目录 2.将python.exe重名为python3.exe 3.在环境变量的path中,添加python3的目录 4.将pip.exe的目录页添加到path中,即可完成环境 ...
- oracle client 卸载
1.停用oracle服务:进入计算机管理,在服务中,找到oracle开头的所有服务,右击选择停止 2.在开始菜单中,找到Universal Installer,运行Oracle Universal I ...
- 使用Dockerfile部署TOMCAT
一.准备工作 1.下载安装docker 2.下载tomcat压缩包 (1)我这里是下载的apache-tomcat-9.0.8.tar.gz 下载地址 https://tomcat.apache.or ...
- Cesium鼠标事件
computed: { handler() { return new this.Cesium.ScreenSpaceEventHandler(this.viewer.scene.canvas) } } ...
- 【集群】Redis集群设计原理
Redis集群设计包括2部分:哈希Slot和节点主从 节点主从: 主从设计不算什么新鲜玩意,在数据库中我们也经常用主从来做读写分离,直接上图: 图上能看得到的信息: 1, 只有1个Master,可以有 ...