nginx--平滑升级

失败了,等我拍好错继续更新

命令

选项说明

帮助: -? -h
使用指定的配置文件: -c
指定配置指令:-g
指定运行目录:-p
测试配置文件是否有语法错误:-t -T
打印nginx的版本信息、编译信息等:-v -V
发送信号: -s 示例: nginx -s reload

 信号说明

立刻停止服务:stop,相当于信号SIGTERM,SIGINT
优雅的停止服务:quit,相当于信号SIGQUIT
平滑重启,重新加载配置文件: reload,相当于信号SIGHUP
重新开始记录日志文件:reopen,相当于信号SIGUSR1,在切割日志时用途较大
平滑升级可执行程序:发送信号SIGUSR2,在升级版本时使用
优雅的停止工作进程:发送信号SIGWINCH,在升级版本时使用

reload流程

平滑升级

下载最先版本

wget http://nginx.org/download/nginx-1.24.0.tar.gz
tar -zxvf nginx-1.24.0.tar.gz
cd nginx-1.24.0

查看当前版本

/apps/nginx/sbin/nginx -v

 只编译不安装

./configure --prefix=/apps/nginx \
--user=nginx \
--group=nginx \
--with-http_ssl_module \
--with-http_v2_module \
--with-http_realip_module \
--with-http_stub_status_module \
--with-http_gzip_static_module \
--with-pcre \
--with-stream \
--with-stream_ssl_module \
--with-stream_realip_module

make
objs/nginx -v

 查看两个版本

mv /apps/nginx/sbin/nginx{,.bak} 
ll objs/nginx /apps/nginx/sbin/nginx.bak

 备份旧命令

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

复制新版本的命令

cd /usr/local/src/nginx-1.24.0
cp objs/nginx /apps/nginx/sbin
nginx -v
nginx -t

 平滑升级

USR2 平滑升级可执行程序,将存储有旧版本主进程ID的文件重命名为nginx.pid.oldbin,跟着启动新的nginx
此时两个master的进程都在运行,只是旧的master不在监听,由新的master监听80
此时Nginx开启一个新的master进程,这个master进程会生成新的worker进程,这就是升级 后的Nginx进程,此时老的进程不会自动退出,但是当接收到新的请求不作处理而是交给新的进程处理。

kill -USR2 `cat /apps/nginx/run/nginx.pid`
ps auxf|grep nginx

lsof -i :80

相关推荐

  1. Nginx编译后平滑升级

    2024-05-01 20:16:03       44 阅读
  2. Nginx如何对运行老业务的服务器平滑升级版本

    2024-05-01 20:16:03       56 阅读
  3. NGINX安装升级

    2024-05-01 20:16:03       55 阅读
  4. nginx升级版本

    2024-05-01 20:16:03       43 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-05-01 20:16:03       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-05-01 20:16:03       106 阅读
  3. 在Django里面运行非项目文件

    2024-05-01 20:16:03       87 阅读
  4. Python语言-面向对象

    2024-05-01 20:16:03       96 阅读

热门阅读

  1. AI期末复习(PolyU)

    2024-05-01 20:16:03       30 阅读
  2. R语言 统计篇之T-test 检验

    2024-05-01 20:16:03       33 阅读
  3. 【Spring】5.Spring事务中的@Transactional注解剖析

    2024-05-01 20:16:03       34 阅读
  4. 【重识python day4】

    2024-05-01 20:16:03       32 阅读
  5. U427420 pow(A,2) Problem

    2024-05-01 20:16:03       32 阅读
  6. C++入门 #10 循环3(do-while)

    2024-05-01 20:16:03       31 阅读
  7. Spring Boot Actuator 模块,spring-boot-starter-actuator

    2024-05-01 20:16:03       35 阅读
  8. 精准农业:利用机器学习优化作物产量

    2024-05-01 20:16:03       29 阅读