Nginx平滑升级

优先推荐使用方案二,方案一其实就是方案二的手动版

一、环境准备(必须准备,不能跳过)

  1. 先准备两个版本的Nginx分别是 1.18.0 (旧版本) 1.20.2 (新版本)
  2. 使用Nginx源码安装的方式将 1.18.0 (旧版本) 安装成功并正确访问
  3. 将Nginx 1.20.2 (新版本) 进行参数配置和编译,不需要进行安装。

#进入nginx-1.20.2源码目录
cd nginx-1.20.2
./configure
make

或者自定义配置

./configure --prefix=/usr/local/nginx
–sbin-path=/usr/local/nginx/sbin/nginx
–modules-path=/usr/local/nginx/modules
–conf-path=/usr/local/nginx/conf/nginx.conf
–pid-path=/usr/local/nginx/logs/nginx.pid
–lock-path=/usr/local/nginx/logs/nginx.lock
–error-log-path=/usr/local/nginx/logs/error.log
–http-log-path=/usr/local/nginx/logs/access.log
–http-client-body-temp-path=/usr/local/nginx/client_body_temp
–http-proxy-temp-path=/usr/local/nginx/proxy_temp
–http-fastcgi-temp-path=/usr/local/nginx/fastcgi_temp
–http-uwsgi-temp-path=/usr/local/nginx/uwsgi_temp
–http-scgi-temp-path=/usr/local/nginx/proxy_temp
–with-http_gzip_static_module
–with-http_ssl_module
–with-http_v2_module

方案一:使用Nginx服务信号进行升级

  1. 1.18.0 (旧版本)的sbin目录下的nginx进行备份

cd /usr/local/nginx/sbin
mv nginx nginxold

  1. 将Nginx 1.20.2 (新版本) 安装目录编译后的objs目录下的nginx文件,拷贝到原来/usr/local/nginx/sbin目录下

cd /usr/local/nginx/nginx-1.20.2/objs/
cp nginx /usr/local/nginx/sbin

  1. 发送信号USR2给Nginx的 1.18.0(旧版本) 版本对应的master进程,记录下旧版本的 master PID

ps -ef | grep nginx
kill -USR2 `more /usr/local/nginx/logs/nginx.pid`

  1. 发送信号QUIT给Nginx的 1.18.0 (旧版本) 版本对应的master进程, old_master_PID为上一步骤 ps -ef | grep nginx 返回的master PID

kill -QUIT old_master_PID

方案二:使用Nginx安装目录的make命令完成升级

注意:首先先检查 一、环境准备,是否完成,在向下进行

  1. 1.18.0 (旧版本) 的sbin目录下的nginx进行备份

cd /usr/local/nginx/sbin
mv nginx nginxold

  1. 将Nginx 1.20.2 (新版本) 安装目录编译后的objs目录下的nginx文件,拷贝到原来/usr/local/nginx/sbin目录下

cd /usr/local/nginx/nginx-1.20.2/objs
cp nginx /usr/local/nginx/sbin

  1. 进入到安装目录,执行 make upgrade

cd /usr/local/nginx/nginx-1.20.2
make upgrade

  1. 查看是否更新成功

cd /usr/local/nginx/sbin
./nginx -v

  • 14
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值