Nginx 平滑升级
热部署
(方法一)
- 查看原编译参数
# 升级一般是添加新的模块,或者升级版本,所以要参考以前编译的模块,如果不添加,那么以前的模块就不能使用了 [ ~]# /usr/local/nginx/sbin/nginx -V nginx version: nginx/1.16.1 built by gcc 4.8.5 20150623 (Red Hat 4.8.5-39) (GCC) configure arguments: --prefix=/usr/local/nginx
- 预编译/编译/安装
./configure --prefix=/usr/local/nginx --with-http_stub_status_module make && make install
3.直接升级
make upgrade
(方法二)
- 编译安装nginx-1.16.1
yum -y install gcc gcc-c++ pcre-devel zlib-devel #安装依赖包 useradd -M -s /sbin/nologin nginx #添加程序运行用户 tar -zxvf nginx-1.16.1.tar.gz -C /usr/src/ #解包 cd /usr/src/nginx-1.16.1/ ./configure --prefix=/usr/local/nginx --user=nginx --group=nginx make make install #配置编译并且安装 /usr/local/nginx/sbin/nginx #启动nginx服务
- 查看升级之前的nginx版本,同时获取旧nginx版本的编译参数
#/usr/local/nginx/sbin/nginx -V nginx version: nginx/1.16.1 built by gcc 4.8.5 20150623 (Red Hat 4.8.5-39) (GCC) configure arguments: --prefix=/usr/local/nginx --user=nginx --group=nginx
- 编译nginx-1.18.0(只编译不安装)
tar -zxvf nginx-1.18.0.tar.gz -C /usr/src/ #解包 cd /usr/src/nginx-1.18.0/ ./configure --user=nginx --group=nginx --prefix=/usr/local/nginx/ --with-http_v2_module --with-http_ssl_module --with-http_sub_module --with-http_stub_status_module --with-http_gzip_static_module --with-pcre --with-http_realip_module make #配置编译并且安装
- 备份旧版本的nginx的执行程序
mv /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.old
- 替换旧的Nginx的执行程序
cp /usr/src/nginx-1.18.0/objs/nginx /usr/local/nginx/sbin/
- 使nginx的旧版本停止接收请求,有Nginx新版本接替,且老进程处理完所有请求,关闭所有连接后,停止
kill -USR2 `cat /usr/local/nginx/logs/nginx.pid`
- 查看nginx日志目录会生成一个nginx.pid.oldbin文件,存放旧版本nginx 的pid号
#ls /usr/local/nginx/logs/ access.log error.log nginx.pid nginx.pid.oldbin
8.查看升级升级后的版本
#/usr/local/nginx/sbin/nginx -V nginx version: nginx/1.18.0
- 从容关闭旧进程
kill -QUIT `cat nginx.pid.oldbin`
- 查看服务运行状态
netstat -aupt | grep nginx getnameinfo failed tcp 0 0 *:http *:* LISTEN 6963/nginx
- 使用客户端验证Nginx服务是否可以继续访问
相关推荐
nginxs 2020-11-14
Guanjs0 2020-11-13
小木兮子 2020-11-11
yserver 2020-11-11
ssihc0 2020-11-11
windle 2020-11-10
HanksWang 2020-11-10
liuchen0 2020-11-10
Freshairx 2020-11-10
ccschan 2020-11-10
liwf 2020-11-10
Guanjs0 2020-11-09
AderStep 2020-11-09
zrtlin 2020-11-09
mqfcu 2020-11-10
windle 2020-10-29