linux企业实战-Nginx实战案例(2)平滑升级和版本回退

准备两个版本的nginx安装包

nginx-1.14.2.tar.gz    nginx-1.15.9.tar.gz

然后对文件进行解压

tar zxf nginx-1.14.2.tar.gz

cd /nginx-1.14.2/

安装一些必须的软件

yum install gcc openssl-devel pcre-devel -y

编译

./configure --prefix=/usr/local/nginx

make && make install

cd /usr/local/nginx/sbin

查看启动脚本,然后利用启动脚本进行启动

../nginx

查看版本

这里有一个注意点
就是使用这种方法有一个前提前提就是你在启动nginx时使用的是nginx二进制文件的绝对路径而不是直接在命令行中输入“nginx"的方式启动的nginx服务,如果没有通过绝对路径启动nginx那么当你向nginx进程中发送更新的信号时,nginx进程可能会无法找到新的二进制程序

1)首先将之前的版本的启动脚本备份
cd/usr/local/nginx/sbin cp nginx nginx.old
现在要做的工作是,根据老版本的编译选项对新版本的
nginx进行编译
那么做是为了与老版本的设置保持一致以便之前的设置和文件能够继续使用保持不变

再编译新版本的时候 configure make结束不要make install,这会覆盖原来的nginx
此处只进行编译步骤(make)不执行安装步骤(make install)因为make install 命令的本质就是将编译好的文件复制到对应的目录中所以此处省略make install以防止某些老的配置文件被覆盖,我们只是为了升级nginx原来的配置让需要保持不变所以要确保配置文件不会被覆盖

cd /root/nginx-1.15.9/objs

cp -f  nginx /usr/local/nginx/sbin/nginx
3)向原来的nginx的master进程发送信号,不再接收新的请求,新的nginx程序开启worker进程,并且开始接收请求
kill-USR2 pid 
kill-WINCH pid

查看版本

查看编译参数

回退版本

还原nginx文件

4)执行/usr/local/nginx/sbin/nginx-V##看到版本已经更新
/usr/local/nginx/sbin/nginx-V##还可以看到编译的模块I

查看版本号

发布了102 篇原创文章 · 获赞 14 · 访问量 2387

猜你喜欢

转载自blog.csdn.net/qq_41871875/article/details/104537336