zoukankan      html  css  js  c++  java
  • Nginx-在线升级、降级

    Nginx的在线升级不需要停服务

    1.我们要准备好升级的Nginx软件包,解压;

    [root@sxb-1 Nginx]# tar xf nginx-1.13.4.tar

    2.备份好原先的Nginx数据;

    [root@sxb-1 Nginx]# mv /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak
    
    [root@sxb-1 Nginx]# ls /usr/local/nginx/sbin/nginx.bak
    /usr/local/nginx/sbin/nginx.bak

    3.对解压Nginx目录进行配置,在目录里会出现先objs目录;编译 make;

    ./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_ssl_module --with-http_stub_status_module --with-file-aio --with-http_dav_module --with-pcre=../pcre-8.40

    4.将我们编译好的数据copy到Nginx目录去;

    [root@sxb-1 nginx-1.13.4]# cp objs/nginx /usr/local/nginx/sbin/

    5.查看版本号

    [root@sxb-1 sbin]# /usr/local/nginx/sbin/nginx -v
    nginx version: nginx/1.13.4

    到这里我们在硬盘上的升级就完成了,接下来我们要替换内存中的Nginx数据;

    这里有两种方法;

    第一种为 make upgrade;

    第二种;

    我们要先查看一下Nginx进程号

    [root@sxb-1 sbin]# ps -ef | grep nginx
    root      25451      1  0 04:45 ?        00:00:00 nginx: master process /usr/local/nginx/sbin/nginx
    nginx     25452  25451  0 04:45 ?        00:00:00 nginx: worker process
    root      33976  19429  0 05:15 pts/3    00:00:00 grep --color=auto nginx

    1.把我们的新版本加进来

    [root@sxb-1 sbin]# kill -USR2 25451
    [root@sxb-1 sbin]# ps -ef | grep nginx
    root      25451      1  0 04:45 ?        00:00:00 nginx: master process /usr/local/nginx/sbin/nginx
    nginx     25452  25451  0 04:45 ?        00:00:00 nginx: worker process
    root      33977  25451  0 05:19 ?        00:00:00 nginx: master process /usr/local/nginx/sbin/nginx
    nginx     33978  33977  0 05:19 ?        00:00:00 nginx: worker process
    root      33980  19429  0 05:19 pts/3    00:00:00 grep --color=auto nginx

    我们可以看到,出现了两个Nginx进程(bin/nginx为子进程)

    2.命令旧本nginx剩余任务完成后,不再接新的任务;

    [root@sxb-1 sbin]# kill -WINCH 25451
    [root@sxb-1 sbin]# ps -ef | grep nginx
    root      25451      1  0 04:45 ?        00:00:00 nginx: master process /usr/local/nginx/sbin/nginx
    root      33977  25451  0 05:19 ?        00:00:00 nginx: master process /usr/local/nginx/sbin/nginx
    nginx     33978  33977  0 05:19 ?        00:00:00 nginx: worker process
    root      33987  19429  0 05:22 pts/3    00:00:00 grep --color=auto nginx

    旧版本nginx不再产生子进程接任务;这里我们一般会把旧版本放置一段时间,以防新版本出现问题;

    3.将旧版本nginx清除掉;

    [root@vlnx251101 ~]# kill -QUIT 25451

    这样升级任务就完成了

    =================================================================================================

    降级操作:

    1.将我们备份的nginx.bak恢复到/usr/local/nginx/sbin 目录下;

    2.重复上面的操作;

  • 相关阅读:
    MVC filter
    常见的页面中两个div自适应等高CSS控制
    字符串排序 获取字符串中最长的单词
    js中“==”与“===”区别
    数组中字符串按照长度大小排序
    jquery中ajax使用
    关于ajax
    父级div宽度100%,子级一个div宽度固定,另一个宽度自适应
    window.onload与$(document).ready()区别
    盒模型
  • 原文地址:https://www.cnblogs.com/loganSxb/p/11202442.html
Copyright © 2011-2022 走看看