nginx的热部署(平滑升级)

一、安装nginx-1.15.8版本

1.解压,编译,安装nginx

[root@server1 ~]# ls
nginx-1.15.8.tar.gz  nginx-1.16.0.tar.gz
[root@server1 ~]# tar zxf nginx-1.15.8.tar.gz 
[root@server1 ~]# cd nginx-1.15.8
[root@server1 nginx-1.15.8]# ls
[root@server1 nginx-1.15.8]#  vim auto/cc/gcc
#关闭debug文件
# debug
#CFLAGS="$CFLAGS -g"

安装依赖性,编译:

yum install -y gcc pcre-devel zlib-devel

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

nginx源码在src下

安装:

[root@server1 nginx-1.15.8]# make && make install

objs目录下多了nginx

2.给文件加高光

[root@server1 ~]# mkdir .vim
[root@server1 ~]# cd nginx-1.15.8/contrib/
[root@server1 contrib]# ls
README  geo2nginx.pl  unicode2nginx  vim
[root@server1 contrib]# cp -r vim/* ~/.vim/
[root@server1 contrib]# vim ../conf/nginx.conf 

3.设置nginx的worker工作数:

[root@server1 nginx-1.15.8]# vim /usr/local/nginx/conf/nginx.conf

user  nginx nginx;     ##设置使用nginx的用户和组
worker_processes  2;    ##设置启动worker进程为2个


[root@server1 ~]# useradd nginx

设置最大连接数先设置系统允许最大连接数

vim /etc/security/limits.conf

nginx   -       nofile          65535

vim /usr/local/nginx/conf/nginx.conf

events {
    worker_connections  65535;
}

4.开启nginx

[root@server1 ~]# /usr/local/nginx/sbin/nginx -t  #检测文件
[root@server1 ~]# /usr/local/nginx/sbin/nginx -V  #查看版本号
[root@server1 ~]# /usr/local/nginx/sbin/nginx   

查看端口是否开启:

[root@server1 ~]# netstat -tnlp

tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      6208/nginx: master  

[root@server1 ~]# ps -ef | grep nginx  ##可以查看到nginx的master与worker进程,master用于监控

打开浏览器:http://172.25.60.1/

nginx安装成功

二、Nginx版本更新(平滑升级)

先给源版本做备份,如果更新出错,便于回退

[root@server1 ~]# cd /usr/local/nginx/sbin/
[root@server1 sbin]# cp nginx nginx.old
tar zxf nginx-1.16.0.tar.gz 
cd nginx-1.16.0
./configure --prefix=/usr/local/nginx --with-file-aio
make  #不能make install,会在/usr/local/nginx/目录下生成sbin目录,替换原来的目录
cd objs/
cp -f nginx /usr/local/nginx/sbin/nginx ##-f,强制复制  不加会报nginx正在运行无法复制
ps -ef | grep nginx         ##查看nginx master和worker进程号
kill -USR2 6208(master进程号)  ##使当前版本的nginx执行完正在执行的任务后不再执行 这时新旧版本一起工作

ps -ef | grep nginx   ##可查看到新旧进程
kill -WINCH 6208	##关闭旧的master下的worker
ps -ef | grep nginx   ##可查看到只有新版的worker

/usr/local/nginx/sbin/nginx -V  ##可看到新版号

nginx更新成功!

三、nginx版本回退

[root@server1 ~]# cd /usr/local/nginx/sbin/
[root@server1 sbin]# ls
nginx  nginx.old
[root@server1 sbin]# cp -f nginx.old nginx
cp: overwrite 'nginx'? y
[root@server1 ~]# ps -ef | grep nginx
[root@server1 ~]# kill -HUP 6208   ##将旧版master唤醒
[root@server1 ~]# ps -ef | grep nginx

[root@server1 ~]# kill -USR2 18305
[root@server1 ~]# ps -ef | grep nginx

[root@server1 ~]# kill -WINCH 18305
[root@server1 ~]# ps -ef | grep nginx

[root@server1 ~]# /usr/local/nginx/sbin/nginx -V

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

马克图布s

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值