nginx 平滑重启与升级的实现方法

如果改变了Nginx的配置文件(nginx.conf),想重启Nginx,同样可以通过发送系统信号给Nginx主进程的方式来进行.不过,重启之前,要确认Nginx配置文件(nginx.conf)的语法是正确的,否则Nginx将不会加载新的配置文件。通过以下命令可以判断Nginx配置文件是否正确:

/usr/local/webserver/nginx/sbin/nginx    -t  -c
/usr/local/webserver/nginx/conf/nginx.conf

如果配置文件不正确,屏幕将会提示配置文件的第几行出错:

[emerg]:unknowndirective"abc"inlusrllocaUwebserverlnginxjconflnginx.conf:55
Configurationfile/usr/local/webserver/nginx/conf/nginx·conf test failed

如果配置文件正确,屏幕将提示以下两行信息:

The configuration file/usr/loca/webserver/nginx/conf/nginx.conf syntax is  ok
Configuration file/usr/local/webserver/nginx/conf/nginx.conf test is  successful

这时候,就可以平滑重启Nginx了。

代码如下:

/usr/local/www/nginx/sbin/nginx -xs reloadx

或:


代码如下:

killx -HUP `cat /usr/local/www/nginx/logs/nginx.pidx`

下面是一些补充:

平滑重启 kill -HUP `cat /usr/local/www/nginx/logs/nginx.pid`

平滑升级nginx

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

/usr/local/www/nginx/sbin/nginx -V
nginx: nginx version: nginx/1.0.4
nginx: built by gcc 4.1.2 20080704 (Red Hat 4.1.2-50)
nginx: configure arguments: --prefix=/usr/local/www/nginx --with-pcre=/yujialin/pcre-8.12 --with-http_stub_status_module --with-http_gzip_static_module
这步是要得到编译参数

./configure --prefix=/usr/local/www/nginx --with-pcre=/yujialin/pcre-8.12 --with-http_stub_status_module --with-http_gzip_static_module
用上面这段编译

然后make,千万别make install

make完了 在objs目录下就多了个nginx,这个就是新版本的程序了
mv /usr/local/www/nginx/sbin/nginx /usr/local/www/nginx/sbin/nginx-20110906
cp objs/nginx /usr/local/www/nginx/sbin/nginx

/usr/local/www/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 successfu

make upgrade 执行升级

执行完后 /usr/local/nginx/sbin/nginx -V
nginx: nginx version: nginx/1.0.6
nginx: built by gcc 4.1.2 20080704 (Red Hat 4.1.2-50)
nginx: configure arguments: --prefix=/usr/local/www/nginx --with-pcre=/yujialin/pcre-8.12 --with-http_stub_status_module --with-http_gzip_static_module

(0)

相关推荐

  • Nginx1.8.0版本平滑升级新版本1.9.7

    首先查看现在环境nginx的版本为1.8.0 编译的参数只指定了安装路径: 复制代码 代码如下: [root@localhost sbin]# ./nginx -V nginx version: nginx/1.8.0 built by gcc 4.4.7 20120313 (Red Hat 4.4.7-11) (GCC) configure arguments: --prefix=/usr/local/nginx 平滑升级步骤如下: 下载nginx1.9.7版本,解压并进入解压后的目录 复制代

  • Nginx平滑升级的详细操作方法

    一.平滑升级概述Nginx方便地帮助我们实现了平滑升级.其原理简单概括,就是:(1)在不停掉老进程的情况下,启动新进程.(2)老进程负责处理仍然没有处理完的请求,但不再接受处理请求.(3)新进程接受新请求.(4)老进程处理完所有请求,关闭所有连接后,停止.这样就很方便地实现了平滑升级.一般有两种情况下需要升级Nginx,一种是确实要升级Nginx的版本,另一种是要为Nginx添加新的模块.二..升级过程具体的操作也很简单,如下: (0)查看当前版本在存放Nginx的可执行文件的目录下输入: 复制

  • nginx 平滑重启与升级的实现方法

    如果改变了Nginx的配置文件(nginx.conf),想重启Nginx,同样可以通过发送系统信号给Nginx主进程的方式来进行.不过,重启之前,要确认Nginx配置文件(nginx.conf)的语法是正确的,否则Nginx将不会加载新的配置文件.通过以下命令可以判断Nginx配置文件是否正确: /usr/local/webserver/nginx/sbin/nginx    -t  -c/usr/local/webserver/nginx/conf/nginx.conf 如果配置文件不正确,屏

  • nginx平滑重启和平滑升级的图文教程

    目录 nginx平滑重启 平滑重启主要流程 图解 nginx平滑升级 平滑升级主要流程 图解 总结 nginx平滑重启 如果修改了nginx的配置文件(nginx.conf),想要重启nginx,可以发送系统信号给Nginx的master进程来进行. 平滑重启主要流程 向master进程发送HUB信号(reload命令) nginx -s reload kill -s gighup Nginx主进程号 master进程检查配置语法是否正确 如果配置文件或者语法错误会出现下图代码 master打开

  • nginx 平滑重启的实现方法

    一.背景 在服务器开发过程中,难免需要重启服务加载新的代码或配置,如果能够保证server重启的过程中服务不间断,那重启对于业务的影响可以降为0.最近调研了一下nginx平滑重启,觉得很有意思,记录下来供有兴趣的同学查阅. 二.重启流程 重启意味着新旧接替,在交接任务的过程中势必会存在新旧server并存的情形,因此,重启的流程大致为: 启动新的server 新旧server并存,两者共同处理请求,提供服务 旧的server处理完所有的请求之后优雅退出 这里,最主要的问题在于如何保证新旧serv

  • Golang HTTP 服务平滑重启及升级的思路

    Golang HTTP服务在上线时,需要重新编译可执行文件,关闭正在运行的进程,然后再启动新的运行进程.对于访问频率比较高的面向终端用户的产品,关闭.重启的过程中会出现无法访问(nginx表现为502)的情况,影响终端用户的使用体验. 实现的一般思路 一般情况下,要实现平滑重启或升级,需要执行以下几个步骤: 发布新的bin文件覆盖老的bin文件 发送一个信号量(USR2),告诉正在运行的进程,进行重启 正在运行的进程接受到信号后,以子进程的方式启动新的bin文件 新进程接收并处理新的请求 老进程

  • Nginx 启动、停止、重启、升级操作命令收集

    那下面主要总结一下Nginx的基本操作. 启动操作 命令: nginx -c /usr/nginx/conf/nginx.conf -c参数指定了要加载的nginx配置文件路径. 停止操作 停止操作是通过向nginx进程发送信号(什么是信号请参阅linux文章)来进行的 步骤1:查询nginx主进程号 ps -ef | grep nginx 在进程列表里面找master进程,它的编号就是主进程号了. 步骤2:发送信号 从容停止Nginx: kill -QUIT 主进程号 快速停止Nginx: k

  • nginx平滑升级及nginx配置文件详解

    目录 nginx平滑升级及nginx配置文件 nginx平滑升级并添加新功能 nginx配置文件 nginx.conf配置详解 用于调试.定位问题的配置参数 正常运行必备的配置参数 优化性能的配置参数 网络连接相关的配置参数 fastcgi的相关配置参数 nginx作为web服务器时使用的配置:http{}段的配置参数 http{}段配置指令: nginx平滑升级及nginx配置文件 nginx平滑升级并添加新功能 1.先获取老版本的编译信息 2.获取新版本安装包和功能包 3.配置新版本或功能,

  • Linux版本中Nginx平滑升级与回退

    目录 一.平滑升级概述 1.平滑升级的定义 2.平滑升级的思路 (1)关于版本和备份 (2)向旧的Nginx的master进程发送USR2信号 (3)向旧的master进程发送winch信号,旧的worker子进程退出 (4)向旧master进程发送quit信号,旧的master进程就退出 3.平滑升级的信号 4.平滑升级示意图 二.Nginx平滑升级 1.安装依赖 2.编译并安装nginx 3.备份旧的Nginx二进制 4.向旧的master发送USR2信号 5.向旧master发送winch

  • Nginx下升级https的方法步骤

    购买证书 可以去阿里云的云盾证书服务购买 下载证书 在证书控制台下载 Nginx 版本证书.下载到本地的压缩文件包解压后包含: .pem 文件:证书文件 .key 文件:证书的私钥文件(申请证书时如果没有选择 自动创建CSR ,则没有该文件) 配置Nginx 1.在 Nginx 的安装目录下创建 cert 目录,并且将下载的全部文件拷贝到 cert 目录中,如果申请证书时是自己创建的CSR文件,请将对应的私钥文件放到 cert 目录下. 2.打开 Nginx 安装目录下 conf 目录中的 ng

  • Linux下nginx生成日志自动切割的实现方法

    Linux下nginx生成日志自动切割的实现方法 1.编辑切割日志的 shell 程序,目录自定 #vi /data/nginx/cut_nginx_log.sh 输入代码: #!/bin/bash # This script run at 00:00 function cutAccess() { dir=$1 newdir="${dir}/$(date -d "yesterday" +"%Y")/$(date -d "yesterday&quo

  • 详解linux中nginx启动 重启 关闭命令

    启动操作 nginx -c /usr/local/nginx/conf/nginx.conf -c参数指定了要加载的nginx配置文件路径 停止操作 停止操作是通过向nginx进程发送信号来进行的 步骤1:查询nginx主进程号 ps -ef | grep nginx 在进程列表里 面找master进程,它的编号就是主进程号了. 步骤2:发送信号 从容停止Nginx: kill -QUIT 主进程号 例如:kill -QUIT 16391 快速停止Nginx: kill -TERM 主进程号 强

随机推荐