Nginx平滑升级的详细操作方法

Nginx平滑升级的详细操作方法

Nginx是一款高性能且开源的Web服务器,通常被用来作为反向代理服务器、负载均衡器、HTTP缓存以及视频流媒体服务器等。在进行Nginx版本升级的时候,如果不进行正确的操作可能会导致Web服务中断,为了最小化这些影响,我们可以采用平滑升级的方式进行操作。

下面是Nginx平滑升级的详细操作方法:

1.备份当前Nginx服务器的配置文件和日志文件。在升级之前,一定要将之前的配置文件和日志文件备份,以便在升级过程中出现问题时可以还原到原来的状态。

2.编译安装新版本的Nginx。下载最新版的Nginx安装包,解压后进行编译与安装。在进行编译时,需要确保与之前版本使用的编译选项相同,如“--prefix”等。

wget http://nginx.org/download/nginx-1.18.0.tar.gz
tar zxvf nginx-1.18.0.tar.gz
cd nginx-1.18.0/
./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-pcre --with-stream
make && make install

3.检查新版本Nginx的配置文件是否正确。在升级之前,应该确保新版本Nginx的配置文件是正确的。之前备份的Nginx配置文件仍然可以作为一个参考点,可以通过比较两个配置文件来确保新版本的配置文件是正确的,并且没有影响到之前的设置。

4.启动新版本的Nginx服务器。在确认新版本Nginx配置文件之后,可以启动新版本的Nginx服务器。为了避免新版本的Nginx进程与之前的版本进程冲突,可以指定一个新的配置文件和进程ID文件。

/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf -p /usr/local/nginx/ -g 'pid /usr/local/nginx/logs/nginx.pid;'

5.验证新版本的Nginx是否正常工作。可以使用curl命令或浏览器来验证新版本的Nginx 是否正常工作。在检查之前,请确保在新版本启动之前,停止旧版本的Nginx运行。

6.平滑升级。在确认新版本Nginx正常工作后,可以进行平滑升级。这样可以确保当前运行的请求正常工作,同时旧版本的Nginx进程也可以正常关闭。可以通过向旧版本Nginx进程发送TERM信号,以便正常关闭。新版本Nginx将会接收到所有新的请求,并且会处理它们。

killall -USR2 nginx

7.关闭旧版本Nginx进程。在平滑升级完成之后,可以关闭旧版本的Nginx进程。同样可以通过向旧版本Nginx进程发送QUIT信号来正常关闭它。

killall -QUIT nginx

示例1:升级Nginx 1.16.0版本到1.18.0版本

1.备份当前Nginx服务器的配置文件和日志文件。

cp -r /usr/local/nginx/conf /usr/local/nginx/conf_bak
cp -r /usr/local/nginx/logs /usr/local/nginx/logs_bak

2.编译安装新版本的Nginx:

wget http://nginx.org/download/nginx-1.18.0.tar.gz
tar zxvf nginx-1.18.0.tar.gz
cd nginx-1.18.0/
./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-pcre --with-stream
make && make install

3.检查新版本Nginx的配置文件是否正确。

cd /usr/local/nginx/conf
nginx -t

4.启动新版本的Nginx服务器。

/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf -p /usr/local/nginx/ -g 'pid /usr/local/nginx/logs/nginx.pid;'

5.验证新版本的Nginx是否正常工作。

curl http://localhost

6.平滑升级。

ps -C nginx
killall -USR2 nginx
ps -C nginx

7.关闭旧版本Nginx进程。

killall -QUIT nginx

示例2:升级Nginx 1.14.1版本到1.18.0版本

1.备份当前Nginx服务器的配置文件和日志文件。

cp -r /usr/local/nginx/conf /usr/local/nginx/conf_bak
cp -r /usr/local/nginx/logs /usr/local/nginx/logs_bak

2.编译安装新版本的Nginx。

wget http://nginx.org/download/nginx-1.18.0.tar.gz
tar zxvf nginx-1.18.0.tar.gz
cd nginx-1.18.0/
./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-pcre --with-stream
make && make install

3.检查新版本Nginx的配置文件是否正确。

cd /usr/local/nginx/conf
nginx -t

4.启动新版本的Nginx服务器。

/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf -p /usr/local/nginx/ -g 'pid /usr/local/nginx/logs/nginx.pid;'

5.验证新版本的Nginx是否正常工作。

curl http://localhost

6.平滑升级。

ps -C nginx
killall -USR2 nginx
ps -C nginx

7.关闭旧版本Nginx进程。

killall -QUIT nginx

注意:示例1和示例2中的所有路径设置和命令行调用都需要根据实际情况进行修改和适应。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Nginx平滑升级的详细操作方法 - Python技术站

(0)
上一篇 2023年5月16日
下一篇 2023年5月16日

相关文章

  • PHP脚本批量清除nginx缓存的方法

    我写了一个程序能够实现 1.提交一批url进行清除对应的cache 2.提交一批url目录可以清除包含这些目录的url,若是提交域名可以清除整站 3.查看某个目录下的缓存文件是否缓存上 4.可以添加多个站点 需要县安装ngx_cache_purge 代码如下 1 <?php 2 /* 3 * 作者:yifangyou 4 日期:2012-07-21 1…

    Nginx 2023年4月12日
    00
  • 在CentOS上源码安装Nginx

    总步骤: wget http://nginx.org/download/nginx-1.10.1.tar.gz tar -xvf nginx-1.10.1.tar.gz cd nginx-1.10.1 ./configrue make make install 在configure中可能遇到的问题: (1) ./configure: error: the H…

    Nginx 2023年4月12日
    00
  • Apache、Nginx 服务配置服务器端包含(SSI)

    我们来详细讲解一下Apache和Nginx服务的服务器端包含(SSI)配置。 什么是服务器端包含(SSI)? 服务器端包含(SSI)指的是在服务器端处理HTML文件的一种技术。它允许我们在HTML页面中插入动态内容,比如当前日期、时间、其他页面等信息。服务器会在请求文件时解析HTML,并将SSI代码替换为动态内容。 Apache服务配置SSI 在Apache…

    Nginx 2023年5月16日
    00
  • 主流WEB服务器大对比(Apache,Nginx,Lighttpd)

    一.软件介绍(apache  lighttpd  nginx)  1. lighttpd  Lighttpd 是一个具有非常低的内存开销, cpu 占用率低,效能好,以及丰富的模块等特点。 lighttpd 是众多OpenSource 轻量级的 web server 中较为优秀的一个。支持 FastCGI, CGI, Auth, 输出压缩 (output c…

    Nginx 2023年4月11日
    00
  • 在nginx上面部署多个项目

    在网上搜了一下,一般有两种方法,第一种方法:在一个配置文件里面操作,把多个域名写在一个配置文件里面,第二种方法:一个域名对应一个配置文件,我是按照第二种方法操作的。比如在一个服务器上面,需要配置的域名为:www.ceshi1.com,www.ceshi2.com,操作步骤为: 1:在/etc/nginx/下面建立文件夹vhosts 2:在/etc/nginx…

    Nginx 2023年4月15日
    00
  • nginx配置时server_name配的不一样还能正常访问

      原先server_name 配的是api.test.toutiao.applet.rockysaas.com,监听的是80端口,http。后来域名改成了api-test.tbk.rockysaas.com,监听443,https。但是发现原先的api.test.toutiao.applet.rockysaas.com还能访问。 server { # li…

    Nginx 2023年4月11日
    00
  • Centos 离线安装部署 Nginx

    1.首先安装依赖库 yum install -y gcc-c++yum install -y pcre pcre-develyum install -y zlib zlib-develyum install -y openssl openssl-devel 2.下载nginx安装包http://nginx.org/download/ 3.将下载的nignx源…

    Nginx 2023年4月13日
    00
  • docker-dockerfile构建与部署nginx

    1. 创建dockerfile存放目录 1.1 创建目录 [root@docker ~]# mkdir -p /dockerfile [root@docker ~]# cd /dockerfile/ [root@docker dockerfile]# mkdir -p nginx [root@docker dockerfile]# cd nginx/ 2. …

    Nginx 2023年4月12日
    00
合作推广
合作推广
分享本页
返回顶部