前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Nginx重装与平滑升级

Nginx重装与平滑升级

作者头像
刘銮奕
发布2020-04-26 12:55:15
1.9K0
发布2020-04-26 12:55:15
举报
文章被收录于专栏:奕知伴解奕知伴解

1、为什么要重装与升级

软件升级和提高安全性

2、Nginx重装

第一步:停止Nginx软件 第二步:删除/usr/local/nginx文件夹 第三步:下载Nginx-1.16重新进行配置、编译以及安装 缺点:在重装升级的过程中,需要停止目前线上正在运行的业务!

3、Nginx平滑升级

问题:什么是平滑升级?答:所谓的平滑升级就是在不停止业务的前提下,实现对Nginx软件版本的 升级。

信号参数

kill基本语法:

代码语言:javascript
复制
# kill 命令 传输信号给进程
常用命令
TERM, INT(快速退出,当前的请求不执行完成就退出)
QUIT (优雅退出,执行完当前的请求后退出)
HUP (重新加载配置文件,用新的配置文件启动新worker进程,并优雅
的关闭旧的worker进程)
USR1 (重新打开日志文件)
USR2 (平滑的升级nginx二进制文件 拉起一个新的主进程 旧主进程
不停止)
WINCH (优雅的关闭worker进程)

Nginx平滑升级

就是在不停止Nginx现有业务的前提下,实现Nginx版本的升级。

第一步:停止正在运行的Nginx,重新启动,使用原生的Nginx启动方式

第二步:上传Nginx-1.16版本,解压,然后对其进行配置、编译以及安装

代码语言:javascript
复制
master进程
  -- worker进程
  -- worker进程

就是在不停止Nginx现有业务的前提下,实现Nginx版本的升级。

第一步:停止正在运行的Nginx,重新启动,使用原生的Nginx启动方式

代码语言:javascript
复制
# systemctl stop nginx 或 # /usr/local/nginx/sbin/nginx -s
stop
# cd /usr/local/nginx
# 使用原生的启动方式进行启动
# sbin/nginx -c /usr/local/nginx/conf/nginx.conf

第二步:上次Nginx-1.16版本,解压,然后对其进行配置、编译以及安装

代码语言:javascript
复制
# tar -zxf nginx-1.16.0.tar.gz
# cd nginx-1.16.0
# ./configure --prefix=/usr/local/nginx --user=www --
group=www --with-http_ssl_module --withhttp_
stub_status_module --with-http_realip_module
# make && make install

问题:当我们在Linux操作系统中,同时安装了Nginx-1.12与Nginx-1.16版 本,会有什么变化呢?

答:在/usr/local/nginx/sbin目录下会产生两个nginx主程序文件

第三步:同时启动Nginx-1.12与Nginx-1.16两个Nginx软件

代码语言:javascript
复制
# kill -USR2 旧版本Nginx master的进程ID

第四步:把老版本的Nginx-1.12中的worker进程关闭掉

代码语言:javascript
复制
# kill -WINCH 旧版本Nginx master的进程ID

第五步:把老版本的Nginx-1.12的master进程也关闭掉,完成版本切换

代码语言:javascript
复制
# kill -QUIT 旧版本Nginx master的进程ID
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-04-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 奕知伴解 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1、为什么要重装与升级
  • 2、Nginx重装
  • 3、Nginx平滑升级
  • 信号参数
    • Nginx平滑升级
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档