nginx平滑升级

# 原因:因为 nginx发现漏洞、需要对 Nginx 的版本进行更新,需要用到Nginx服务器提供的平滑升级功能。
# 这里是nginx1.18.0升级到nginx1.27.1
[root@ceshi sbin]# ./nginx -V
nginx version: nginx/1.18.0
built by gcc 4.8.5 20150623 (Anolis 4.8.5-44.0.1) (GCC) 
built with OpenSSL 1.0.2k-fips  26 Jan 2017
TLS SNI support enabled
configure arguments: --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
# 下载nginx-1.27.1.tar.gz(或者通过网站下载再上传到服务器https://nginx.org/download/nginx-1.27.1.tar.gz)
[root@ceshi ~]# wget https://nginx.org/download/nginx-1.27.1.tar.gz

# 解压解压Nginx压缩包
[root@ceshi ~]# tar -xvf nginx-1.27.1.tar.gz

# 对新版 nginx 进行配置
# 参数与老版本参数保持一致
[root@ceshi ~]# cd nginx-1.27.1/
[root@ceshi nginx-1.27.1]# ./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module

#进行 make 编译(千万不能make install!!!!千万不能make install!!!!千万不能make install!!!!)
[root@ceshi nginx-1.27.1]# make
# 最新版本nginx的目录下会多出来一个objs目录,里面是新的 Nginx二进制文件,make install 的作用就是将二进制文件拷贝到指定的目录

# 对老版本 sbin 目录下的 nginx 进行备份 
[root@ceshi nginx-1.27.1]# mv /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.old2024

# 将步骤四中编译好的 objs 目录下的 nginx 二进制文件,复制到 /usr/local/nginx/sbin 目录
[root@ceshi nginx-1.27.1]# cp objs/nginx /usr/local/nginx/sbin/
[root@ceshi nginx-1.27.1]# ls /usr/local/nginx/sbin/
nginx  nginx.old2024

# make upgrade 命令升级 
# 在/root/nginx-1.27.1目录下执行升级
[root@ceshi nginx-1.27.1]# make upgrade
/usr/local/nginx/sbin/nginx -t
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
kill -USR2 `cat /usr/local/nginx/logs/nginx.pid`
sleep 1
test -f /usr/local/nginx/logs/nginx.pid.oldbin
kill -QUIT `cat /usr/local/nginx/logs/nginx.pid.oldbin`

# 检查升级后的版本
[root@ceshi sbin]# pwd
/usr/local/nginx/sbin
[root@ceshi sbin]# ./nginx -V
nginx version: nginx/1.27.1
built by gcc 4.8.5 20150623 (Anolis 4.8.5-44.0.1) (GCC) 
built with OpenSSL 1.0.2k-fips  26 Jan 2017
TLS SNI support enabled
configure arguments: --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
# 版本回退
[root@ceshi sbin]# ls
nginx  nginx.old2024
[root@ceshi sbin]# mv nginx nginx-1.27
[root@ceshi sbin]# mv nginx.old2024 nginx

[root@ceshi sbin]# kill -USR2 `cat /usr/local/nginx/logs/nginx.pid`
[root@ceshi sbin]# ps -ef|grep nginx
root      87186      1  0 11:14 ?        00:00:00 nginx: master process ./nginx
root      91546   7883  0 11:16 pts/0    00:00:00 grep --color=auto n

[root@ceshi sbin]# ./nginx -V
nginx version: nginx/1.18.0
built by gcc 4.8.5 20150623 (Anolis 4.8.5-44.0.1) (GCC) 
built with OpenSSL 1.0.2k-fips  26 Jan 2017
TLS SNI support enabled
configure arguments: --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
# 回退成功

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值