Nginx 安装第三方模块 不停机 平滑升级

1. 目的

在原nginx加第三方模块nginx_upstream_check_module实现http检测.
由于系统是24小时运行,所以需要做平滑升级

2. 模拟环境搭建

cd /opt
tar xf nginx-1.20.2.tar.gz
./configure --prefix=/apps/nginx-1.20 --user=nginx --group=nginx --with-http_stub_status_module --with-http_ssl_module
make -j 4
make install

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

3. 启动nginx

/apps/nginx-1.20/sbin/nginx

在这里插入图片描述

4. 解压第三方模块

cd ..
unzip nginx_upstream_check_module-master.zip

在这里插入图片描述

5. nginx第三方补丁

cd nginx-1.20.2
patch -p1 < /opt/nginx_upstream_check_module-master/check_1.20.1+.patch

在这里插入图片描述

6. 编译

./configure --prefix=/apps/nginx-1.20 --user=nginx --group=nginx \
--with-http_stub_status_module --with-http_ssl_module \
--with-http_stub_status_module --add-module=/opt/nginx_upstream_check_module-master
make -j 4

在这里插入图片描述
在这里插入图片描述

7. 备份替换nginx执行文件

mv /apps/nginx-1.20/sbin/nginx /apps/nginx-1.20/sbin/nginx-1.20.2-20220802.bak
cp objs/nginx /apps/nginx-1.20/sbin/nginx
/apps/nginx-1.20/sbin/nginx -V

在这里插入图片描述

8. 修改Nginx配置文件

vi /apps/nginx/conf/conf.d/aa.conf
upstream aaa {
    
    
	server 192.168.31.17;
	server 192.168.31.27;
        check interval=3000 rise=2 fall=5 timeout=1000 type=http;
        check_http_send "HEAD / HTTP/1.0\r\n\r\n";
        check_http_expect_alive http_2xx http_3xx;
}
server {
    
    
	listen 192.168.31.67:80;
        server_name aa.qiuqin.com 192.168.31.67;
        location / {
    
    
            proxy_pass http://aaa;
        }
}

9. 平滑升级

在这里插入图片描述
此时进程从37014切替成40947
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_29974229/article/details/126114380