Nginx升级版本和降级版本
指尖二进制 • 1 年前 • 703 次点击 • NGINX
为什么要升降级。我就不多废话了。直接看步骤。
1:下载高版本的nginx包:
wget http://nginx.org/download/nginx-1.12.2.tar.gz
2:解压并进入解压之后的目录:
tar fx nginx-1.12.2.tar.gz
cd nginx-1.12.2
3:查看你nginx版本和安装组件的相关参数。注意:升级和降级的时候原来的参数不要弄丢了。把这行configure arguments:后面的参数全部粘贴到新的./configure后面:
/usr/local/nginx/sbin/nginx -V
4:预编译nginx:
./configure --prefix=/usr/local/nginx
--with-http_dav_module
--with-http_stub_status_module
--with-http_addition_module
--with-http_sub_module
--with-http_flv_module
--with-http_mp4_module
--with-pcre=/usr/local/src/pcre-8.37
5:./configure预编译成功后,执行make命令进行编译。只执行make不要执行make install:
make
6:把原来启动文件(二进制文件)重命名。网站还是能够正常访问,强制F5也是能正常访问的:
cd /usr/local/nginx/sbin/
mv nginx nginx.old
ps -ef | grep nginx
7:拷贝新的二进制文件到/usr/local/nginx/sbin/里面:
cd nginx-1.12.2
cp objs/nginx /usr/local/nginx/sbin/
8:查看拷贝没拷贝过去
ls /usr/local/nginx/sbin/nginx
9:查看版本号,这个时候查看版本号是1.12.2,但是因为没有重启,还是用的旧版本的nginx:
/usr/local/nginx/sbin/ -V
10:查看pid文件在哪里?进行平滑重启。 直接搜索/pid:
vim /usr/local/nginx/conf/nginx.conf
11:默认在自己的目录logs下,杀掉pid进程:
cd /usr/local/nginx/logs/
kill -USR2 `cat nginx.pid`
12:从容关闭旧版的nginx进程:
kill -WINCH `cat nginx.pid`
13:ps查看进程,正在启动一个新的进程,只有一个:
ps -ef | grep nginx
14:其他不用管直接平滑重启,生成一个新的进程:
/usr/local/nginx/sbin/nginx -s reload
15:查看版本为1.12.2为成功
/usr/local/nginx/sbin/nginx -V
加几条命令:
强制杀死nginx进程:
pkill -9 nginx
使用方法kill 参数 cat nginx.pid
快速杀掉进程
TERM, INT
优雅的杀掉进程
QUIT
不重启。让最新的配置文件生效
HUP
重新打开配置文件
USR1
升级使用
USR2
优雅的杀掉工作进程
WINCH
查看配文件修改是否成功:successful
[root@centos ~]# /usr/local/nginx/sbin/nginx -t
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
优雅停止
/usr/local/nginx/sbin/nginx -s quit
重新打开日志:
作用:例如日志达到一定的大小需要备份了。这个时候就需要使用reopen。
因为在nginx在运行。进程已经链接文件所对应的资源也就是access.log。改名字access.log.bak不管用。
备份日志重启nginx会断开,对客户体验不好。所以用reopen。
/usr/local/nginx/sbin/nginx -s reopen