nginx1.12.2平滑升级至nginx1.16.1最新版

原创 浪子丶刘少  2019-09-20 11:00  阅读 552 次 评论 4 条 百度未收录

今天云南联通项目需要一个nginx的升价加固方案,原先nginx版本为nginx.1.12.2,现在升级至nginx-1.16.1,下面分享一个我今天做出来的加固平滑升级方案。

一、新环境准备

1、下载nginx源码包http://nginx.org/en/download.html

wget -c http://nginx.org/download/nginx-1.16.1.tar.gz

2、安装编译器及环境依赖

yum -y install gcc gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel automake autoconf libtool

3、解压缩

tar -zxvf nginx-1.16.1.tar.gz -C /usr/src/ --no-same-owner

4、查看初始编译环境

nginx -V
注意之后参数
configure arguments:

5、编译但不安装

 cd  /usr/src/nginx-1.16.1/
./configure 参数
make

6、测试配置文件

nginx -t

二、升级执行操作

1、查看旧的版本号,备份旧的可执行文件。

nginx -v
cp /usr/sbin/nginx /usr/sbin/nginx.bak
cp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.1.12.2

2、并替换旧的可执行文件

cd /usr/src/nginx-1.16.1/objs

cp nginx /usr/local/nginx/sbin/

/usr/local/nginx/sbin/nginx -t
#测试

3、旧版本nginx的主进程将重命名它的.pid文件为.oldbin(比如:/run/nginx.pid.oldbin)

mv /usr/local/nginx/logs/nginx.pid /usr/local/nginx/logs/nginx.pid.oldbin

4、kill 旧版本的nginx主进程号

ps -ef | grep nginx | grep -v grep

kill -QUIT 旧版本的nginx主进程号

5、重新启动服务,并检查版本

/usr/local/nginx/sbin/nginx

cp /usr/local/nginx/sbin/nginx /usr/sbin/

nginx -v

三、升级失败回退方案

1、重新替换新的可执行文件

cp /usr/local/nginx/sbin/nginx.1.12.2 /usr/local/nginx/sbin/nginx
cp /usr/local/nginx/sbin/nginx.1.12.2 /usr/sbin/nginx
cp /usr/local/nginx/logs/nginx.pid.oldbin /usr/local/nginx/logs/nginx.pid
nginx -t

2、查看残余进程并杀除

ps -ef | grep nginx | grep -v grep

kill -QUIT 旧版本的nginx主进程号

3、重新启动服务

nginx
nginx -v

本文地址:https://www.ezliushao.com/394.html
加入我们:请加入刘少技术博客交流群:扫描二维码刘少技术博客的QQ交流群 | 浪子丶刘少 QQ:1150110267(注:微信暂停添加好友)
版权声明:本文为原创文章,版权归 浪子丶刘少 所有,欢迎分享本文,转载请保留出处!
NEXT:已经是最新一篇了

发表评论


表情

  1. 杜少在此一游
    杜少在此一游 【新手】 @回复

    我的家那了呀 ,刘少。

  2. 趣知识
    趣知识 【新手】 @回复

    都是命令执行

  3. 爱笑啦
    爱笑啦 【新手】 @回复

    恭喜恭喜,越来越稳定