searchusermenu
  • 发布文章
  • 消息中心
点赞
收藏
评论
分享
原创

nginx无损升级方法调研

2023-10-24 03:25:39
18
0

一、准备工作:

  • 本次 无损升级的前提是需要在linux环境下编译二进制文件,因此需要nginx的源码tar包,本次调研用的版本是nginx-1.24.0.tar.gz
  • 上传tar包至环境,在该目录下进行解压到指定目录,然后在指定目录下执行

    ./configure --prefix=/etc/nginx            注:这里的prefix是nginx.conf的目录

  • 然后执行make把源码编译成可执行的二进制文件,编译过程如下图所示
  • 编译成功后,在该目录objs路径下生成nginx的二进制文件

     

    二、无损升级原理

  • 在不停掉老进程的情况下,启动新进程
  • 老进程负责处理已经在处理中的进程,并且不再接收新的请求
  • 启动新的进程来处理新的业务请求
  • 老版本的进程在处理完业务请求后,就自动退出

三、升级过程及结果验证

  • 首先把nginx的配置文件以及老版本的二进制文件进行备份,然后把编译成的二进制文件移动到

     /usr/sbin/ 目录下,并赋予可执行权限,查看目前的主进程

  • 执行 kill -s SIGUSR2 PID(主进程的PID)

  • 后续需要关闭老进程的监听端口,停止接受新请求,处理完当前的连接后退出进程,首先执行:

    kill -s SIGWINCH PID

  • kill -s SIGQUIT PID
0条评论
0 / 1000
想****牛
2文章数
0粉丝数
想****牛
2 文章 | 0 粉丝
想****牛
2文章数
0粉丝数
想****牛
2 文章 | 0 粉丝
原创

nginx无损升级方法调研

2023-10-24 03:25:39
18
0

一、准备工作:

  • 本次 无损升级的前提是需要在linux环境下编译二进制文件,因此需要nginx的源码tar包,本次调研用的版本是nginx-1.24.0.tar.gz
  • 上传tar包至环境,在该目录下进行解压到指定目录,然后在指定目录下执行

    ./configure --prefix=/etc/nginx            注:这里的prefix是nginx.conf的目录

  • 然后执行make把源码编译成可执行的二进制文件,编译过程如下图所示
  • 编译成功后,在该目录objs路径下生成nginx的二进制文件

     

    二、无损升级原理

  • 在不停掉老进程的情况下,启动新进程
  • 老进程负责处理已经在处理中的进程,并且不再接收新的请求
  • 启动新的进程来处理新的业务请求
  • 老版本的进程在处理完业务请求后,就自动退出

三、升级过程及结果验证

  • 首先把nginx的配置文件以及老版本的二进制文件进行备份,然后把编译成的二进制文件移动到

     /usr/sbin/ 目录下,并赋予可执行权限,查看目前的主进程

  • 执行 kill -s SIGUSR2 PID(主进程的PID)

  • 后续需要关闭老进程的监听端口,停止接受新请求,处理完当前的连接后退出进程,首先执行:

    kill -s SIGWINCH PID

  • kill -s SIGQUIT PID
文章来自个人专栏
文章 | 订阅
0条评论
0 / 1000
请输入你的评论
0
0