zoukankan      html  css  js  c++  java
  • Nginx平滑升级

    1、上传新版本的源码包(旧版本是1.14.2,新版本是1.16.0)

    [root@localhost ~]# ls
    anaconda-ks.cfg  nginx-1.14.2.tar.gz  nginx-1.16.0.tar.gz

    2、解压,解压到原路径

    [root@localhost ~]# tar -xf nginx-1.16.0.tar.gz -C /usr/src/

    3、获取旧版本的编译安装信息

    [root@localhost ~]# nginx -V
    nginx version: nginx/1.14.2
    built by gcc 4.8.3 20140911 (Red Hat 4.8.3-9) (GCC) 
    built with OpenSSL 1.0.1e-fips 11 Feb 2013
    TLS SNI support enabled
    configure arguments: --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_stub_status_module --with-http_ssl_module --with-http_flv_module --with-http_gzip_static_module

    4、切换到解压路径下编译新版本的源码包,不需要执行安装(不需要执行make  install)

    [root@localhost ~]# cd /usr/src/nginx-1.16.0/
    [root@localhost nginx-1.16.0]# ./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_stub_status_module --with-http_ssl_module --with-http_flv_module --with-http_gzip_static_module && make

    5、备份二进制文件,用新版nginx替换旧版nginx

    [root@localhost ~]# mv /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.old
    [root@localhost ~]# ls /usr/local/nginx/sbin/
    nginx.old
    [root@localhost ~]# cp /usr/src/nginx-1.16.0/objs/nginx /usr/local/nginx/sbin/
    [root@localhost ~]# ls /usr/local/nginx/sbin/
    nginx  nginx.old

    6、查看配置文件,确保正确

    [root@localhost ~]# 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

    7、发送USR2信号

    向主进程(master)发送USR2信号,Nginx会启动一个新版本的master进程和对应工作进程,和旧版一起处理请求

    [root@localhost ~]# ps aux | grep nginx | grep -v grep
    
    root 4108 0.0 0.2 45028 1152 ? Ss 16:58 0:00 nginx: master process /usr/local/nginx/sbin/nginx
    nginx      4109  0.0  0.4  45456  2012 ?        S    16:58   0:00 nginx: worker process 
    [root@localhost ~]# kill -USR2 4108
    [root@localhost ~]# ps aux | grep nginx | grep -v grep
    root       4108  0.0  0.2  45028  1316 ?        Ss   16:58   0:00 nginx: master process /usr/local/nginx/sbin/nginx
    nginx      4109  0.0  0.4  45456  2012 ?        S    16:58   0:00 nginx: worker process      
    root       6605  0.5  0.6  45196  3364 ?        S    17:02   0:00 nginx: master process /usr/local/nginx/sbin/nginx
    nginx      6607  0.0  0.3  45624  1756 ?        S    17:02   0:00 nginx: worker process

    8、发送WINCH信号

    向旧的Nginx主进程(master)发送WINCH信号,它会逐步关闭自己的工作进程(主进程不退出),这时所有请求都会由新版Nginx处理

    [root@localhost ~]# kill -WINCH 4108
    [root@localhost ~]# ps aux | grep nginx | grep -v grep
    root       4108  0.0  0.2  45028  1320 ?        Ss   16:58   0:00 nginx: master process /usr/local/nginx/sbin/nginx
    root       6605  0.0  0.6  45196  3364 ?        S    17:02   0:00 nginx: master process /usr/local/nginx/sbin/nginx
    nginx      6607  0.0  0.3  45624  1756 ?        S    17:02   0:00 nginx: worker process

    9、发送QUIT信号

    升级完毕,可向旧的Nginx主进程(master)发送(QUIT、TERM、或者KILL)信号,使旧的主进程退出

    [root@localhost ~]# kill -QUIT 4108
    [root@localhost ~]# ps aux | grep nginx | grep -v grep
    root       6605  0.0  0.6  45196  3364 ?        S    17:02   0:00 nginx: master process /usr/local/nginx/sbin/nginx
    nginx      6607  0.0  0.4  45624  2056 ?        S    17:02   0:00 nginx: worker process

    10、验证nginx版本号,并访问测试

    [root@localhost ~]# curl -I 127.0.0.1
    HTTP/1.1 200 OK
    Server: nginx/1.16.0
    Date: Sun, 18 Aug 2019 13:34:07 GMT
    Content-Type: text/html
    Content-Length: 612
    Last-Modified: Sun, 18 Aug 2019 13:26:08 GMT
    Connection: keep-alive
    ETag: "5d5951f0-264"
    Accept-Ranges: bytes
  • 相关阅读:
    SharePoint 2013 图文开发系列之自定义字段
    SharePoint 2013 图文开发系列之Visual Studio 创建母版页
    SharePoint 2013 图文开发系列之代码定义列表
    SharePoint 2013 图文开发系列之计时器任务
    SharePoint 2013 图文开发系列之应用程序页
    SharePoint 2013 图文开发系列之事件接收器
    SharePoint 2013 图文开发系列之可视化WebPart
    SharePoint 2013 图文开发系列之WebPart
    SharePoint 2013 对二进制大型对象(BLOB)进行爬网
    SharePoint 2013 状态机工作流之日常报销示例
  • 原文地址:https://www.cnblogs.com/canflyfish/p/11537405.html
Copyright © 2011-2022 走看看