平滑升级

平滑升级的步骤

  1. 获取之前的编译参数

  2. 下载新模块

  3. 重新编译软件,加上--add-module=新模块的解压路径

  4. 备份原程序并停止服务

  5. 把原程序用新程序覆盖

  6. 启动新程序

Nginx信号简介

主进程支持的信号

  • TERMINT: 立刻退出
  • QUIT: 等待工作进程结束后再退出
  • KILL: 强制终止进程
  • HUP: 重新加载配置文件,使用新的配置启动工作进程,并逐步关闭旧进程。
  • USR1: 重新打开日志文件
  • USR2: 启动新的主进程,实现热升级
  • WINCH: 逐步关闭工作进程

工作进程支持的信号

  • TERMINT: 立刻退出
  • QUIT: 等待请求处理结束后再退出
  • USR1: 重新打开日志文件

 

平滑升级过程

[root@nginx ~]# nginx -V
nginx version: nginx/1.20.0
built by gcc 8.3.1 20191121 (Red Hat 8.3.1-5) (GCC) 
built with OpenSSL 1.1.1g FIPS  21 Apr 2020
TLS SNI support enabled
configure arguments: --prefix=/usr/local/nginx --user=nginx --group=nginx --with-debug --with-http_ssl_module --with-http_realip_module --with-http_image_filter_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_stub_status_module --http-log-path=/var/log/nginx/access.log --error-log-path=/var/log/nginx/error.log

[root@nginx ~]# wget https://github.com/openresty/echo-nginx-module/archive/refs/heads/master.zip

[root@nginx ~]# unzip master.zip
Archive:  master.zip
。。。。。。。
[root@nginx ~]# ls
anaconda-ks.cfg  echo-nginx-module-master  master.zip  yum.sh

//重新编译安装
[root@nginx nginx-1.20.0]# ./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-debug --with-http_ssl_module --with-http_realip_module --with-http_image_filter_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_stub_status_module --http-log-path=/var/log/nginx/access.log --error-log-path=/var/log/nginx/error.log --add-module=/usr/src/echo-nginx-module-master

[root@nginx nginx-1.20.0]# make

//启动新程序
[root@nginx nginx-1.20.0]# nginx -s stop && \
> mv /usr/local/nginx/sbin/nginx /tmp/ && \
> cp /usr/src/nginx-1.20.0/objs/nginx /usr/local/nginx/sbin/ && \> /usr/local/nginx/sbin/nginx

//检查是否升级成功
[root@nginx nginx-1.20.0]# nginx -V
nginx version: nginx/1.20.0
built by gcc 8.3.1 20191121 (Red Hat 8.3.1-5) (GCC) 
built with OpenSSL 1.1.1g FIPS  21 Apr 2020
TLS SNI support enabled
configure arguments: --prefix=/usr/local/nginx --user=nginx --group=nginx --with-debug --with-http_ssl_module --with-http_realip_module --with-http_image_filter_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_stub_status_module --http-log-path=/var/log/nginx/access.log --error-log-path=/var/log/nginx/error.log --add-module=/usr/src/echo-nginx-module-master

 

posted @ 2021-06-01 09:03  Raygussie  阅读(94)  评论(0编辑  收藏  举报