nginx平滑升级和故障回退

ngnix的进程分为两类,一类是master主进程,一类是worker工作进程。平滑升级首先会替换master进程,同时替换的master是与老版本的worker兼容的。下一步,就是保持还有连接的worker进程,待其老去再进行替换。实验是将1.18.0升级为1.19.1


安装依赖

yum install -y gcc gcc-c++ pcre pcre-devel zlib zlib-devel make automake autoconf libtool


安装nginx1.18.0

cd /root
wget http://nginx.org/download/nginx-1.18.0.tar.gz
tar zxf 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-http_flv_module --with-http_gzip_static_module
make
make install


查看版本

/usr/local/nginx/sbin/nginx -V

nginx平滑升级和故障回退


备份原nginx二进制文件

mv /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.old

nginx平滑升级和故障回退


升级高版本nginx1.19.1

cd /root
wget http://nginx.org/download/nginx-1.19.1.tar.gz
tar zxf nginx-1.19.1.tar.gz

cd nginx-1.19.1/
./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_flv_module --with-http_gzip_static_module
make
#不需要执行make install,否则会覆盖原来的版本从而产生主程失效

nginx平滑升级和故障回退


替换二进制文件

cp /root/nginx-1.19.1/objs/nginx /usr/local/nginx/sbin/
make upgrade

nginx平滑升级和故障回退


查看版本

/usr/local/nginx/sbin/nginx  -V

nginx平滑升级和故障回退


版本回退

ls /usr/local/nginx/sbin/
cp /usr/local/nginx/sbin/nginx.old /usr/local/nginx/sbin/nginx -f
kill -HUP 3099 nginx   #将在不重载配置文件的情况下启动旧版的worker进程



更新日期: 2020年07月31日
文章标签: Linux
文章链接: https://www.vos.cn/os/446.html  
版权说明:如非注明,本站文章均为vOS原创,转载请注明出处和附带本文链接。