nginx 平滑升級

nginx 平滑升級原理


spacer.gif

blob.png


  升級 nginx

  • 1、安裝配置1.8版本的 nginx


    [root@localhost ~]# yum install -y gcc gcc-c++ pcre-devel openssl-devel zlib-devel

    [root@localhost ~]# useradd -M -s /sbin/nologin nginx

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

    [root@localhost ~]# cd /usr/local/nginx-1.8.1/

    [root@localhost nginx-1.8.1]# ./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_stub_status_module


    --prefix=/usr/local/nginx                  \\指定安裝路徑

    --with-http_stub_status_module               \\聲明啓用service status服務狀態頁,默認 不啓用

    --with-http_ssl_module                    \\啓用ssl(Secure Sockets Layer安全套接 層)模塊,以支持https請求

    --sbin-path=/usr/bin/                     \\聲明nginx命令目錄

  [root@localhost nginx-1.8.1]# make && make install 

  [root@localhost nginx-1.8.1]# ln -s /usr/local/nginx/sbin/nginx /usr/sbin/

  [root@localhost nginx-1.8.1]# nginx 

  [root@localhost nginx-1.8.1]#  ss -anput | grep nginx

  tcp    LISTEN     0      128       *:80                    *:*                   users:    (("ngin",pid=12004,fd=6),("nginx",pid=12003,fd=6))

  [root@localhost nginx-1.8.1]# nginx -v

  nginx version: nginx/1.8.1


  • 2、升級配置nginx-1.10版本      blob.png


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

[root@localhost ~]# cd /usr/local/nginx-1.10.3/

[root@localhost nginx-1.10.3]# ./configure --prefix=/usr/local/nginx --user=nginx --group=ngiinx --with-http_stub_status_module --with-http_ssl_module --with-pcre

[root@localhost nginx-1.10.3]# make

[root@localhost ~]# cd

[root@localhost ~]# mv /usr/local/nginx/sbin/nginx  /usr/local/nginx/sbin/nginx_old

[root@localhost ~]# cp /usr/local/nginx-1.10.3/objs/nginx /usr/local/nginx/sbin/           

   複製新版本的nginx可執行程序

[root@localhost ~]# mv /usr/local/nginx/conf/nginx.conf /usr/local/nginx/conf/nginx.conf.old

[root@localhost ~]# cp /usr/local/nginx-1.10.3/conf/nginx.conf  /usr/local/nginx/nginx.conf

[root@localhost ~]# kill -USR2 `cat /usr/local/nginx/logs/nginx.pid`


主進程將重命名它的 .pid 文件爲 .oldbin,然後執行新的可執行程序,依次啓動新的主進程和新的工作進程


[root@localhost ~]# ls /usr/local/nginx/logs/

access.log  error.log  nginx.pid

[root@localhost ~]# nginx -v

nginx version: nginx/1.10.3




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章