Nginx1.8.0不间断平滑升级到1.10.1

nginx1.8.0平滑升级到1.10.1,不间断服务

1. 先查看当前的版本及原来安装编译时候的参数路径文件信息。

#/usr/local/nginx/sbin/nginx -V

nginx version: nginx/1.8.0

built by gcc 4.1.2 20080704 (Red Hat 4.1.2-50)

built with OpenSSL 1.0.1c 10 May 2012

TLS SNI support enabled

configure arguments: --user=nginx --group=nginx --prefix=/usr/local/nginx --with-http_ssl_module --with-openssl=-1.0.1c --with-pcre=/soft/pcre-8.21 --with-zlib=/soft/zlib-1.2.8 --with-http_stub_status_module --with-threads -l_module --with-http_flv_module --with-http_stub_status_module --with-http_gzip_static_module --http-client-bodyar/tmp/nginx/client/ --http-proxy-temp-path=/var/tmp/nginx/proxy/ --http-fastcgi-temp-path=/var/tmp/nginx/fcgi/ temp-path=/var/tmp/nginx/uwsgi --http-scgi-temp-path=/var/tmp/nginx/scgi

※这是以前编译的参数。编辑新版本需要用到。

2.下载新版本:http://nginx.org/en/download.html解压、编译

# tar -zxvf nginx-1.10.1.tar.gz

# cd nginx-1.10.1

# ./configure --user=nginx --group=nginx --prefix=/usr/local/nginx --with-http_ssl_module --with-openssl=/soft/openssl-1.0.1c --with-pcre=/soft/pcre-8.21 --with-zlib=/soft/zlib-1.2.8 --with-http_stub_status_module --with-threads --with-http_ssl_module --with-http_flv_module --with-http_stub_status_module --with-http_gzip_static_module --http-client-body-temp-path=/var/tmp/nginx/client/ --http-proxy-temp-path=/var/tmp/nginx/proxy/ --http-fastcgi-temp-path=/var/tmp/nginx/fcgi/ --http-uwsgi-temp-path=/var/tmp/nginx/uwsgi --http-scgi-temp-path=/var/tmp/nginx/scgi

# make

编译安装后可以执行echo $?查看是否成功,返回值为0说明正确。

3. 执行完后,不要make install,重名/sbin/nginx为nginx.old

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

4. 复制编译后objs目录下的nginx文件到nginx的安装目录sbin下

# cp objs/nginx /usr/local/nginx/sbin/

5. 测试一下新复制过来文件生效情况:

# /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

6. 让nginx把nginx.pid文件修改成nginx.pid.oldbin,随即启动nginx,实现不间断服务。

# kill -USR2 `cat /usr/local/nginx/logs/nginx.pid`  此时查看nginx进程,可以看到新建立的进程和以前的进程同时存在.

查看进程pid文件:

[[email protected] ~]#cd /usr/local/nginx/logs

[[email protected] logs]# ls

access.log  error.log  nginx.pid  nginx.pid.oldbin

结束nginx.pid.oldbin:

# kill -QUIT `cat /usr/local/nginx/logs/nginx.pid.oldbin`

结束后查看nginx进程,此时可以看到nginx进程是新建立的进程,之前的进程已结束。

【QUIT表示处理完当前请求后没关闭进程;

HUP表示重新加载配置,也就是关闭原有进程,并开启新的工作进程,不会中断用户访问,可以平滑重启nginx;

USR1用于nginx日志切换,即重新打开一个日志文件;

USR2用于平滑升级可执行程序;

WINCH从容关闭工作进程】

7. 升级完成,最后在看一下升级后的版本。

[[email protected]~]# nginx -tv

nginx version: nginx/1.10.1

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

[[email protected] ~]# nginx -V

nginx version: nginx/1.10.1

built by gcc 4.1.2 20080704 (Red Hat 4.1.2-50)

built with OpenSSL 1.0.1c 10 May 2012

TLS SNI support enabled

configure arguments: --user=nginx --group=nginx --prefix=/usr/local/nginx --with-http_ssl_module --with-openssl=/soft/openssl-1.0.1c --with-pcre=/soft/pcre-8.21 --with-zlib=/soft/zlib-1.2.8 --with-http_stub_status_module --with-threads --with-http_ssl_module --with-http_flv_module --with-http_stub_status_module --with-http_gzip_static_module --http-client-body-temp-path=/var/tmp/nginx/client/ --http-proxy-temp-path=/var/tmp/nginx/proxy/ --http-fastcgi-temp-path=/var/tmp/nginx/fcgi/ --http-uwsgi-temp-path=/var/tmp/nginx/uwsgi --http-scgi-temp-path=/var/tmp/nginx/scgi

[[email protected] ~]#

时间: 2024-07-31 12:36:55

Nginx1.8.0不间断平滑升级到1.10.1的相关文章

nginx编译安装和平滑升级

1.1.1  本文档为nginx安装及配置文档,主要实现http反向代理功能:作用是将nginx作为前端服务器,通过访问规则代理转发至后端对应的tomcat服务器 部署环境: 系统版本:Linux version 2.6.32-431.el6.x86_64(`cat /proc/version`) 安装及配置: 1安装nginx依赖环境 安装pcre库 #wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.21.ta

nginx1.8.0版本平滑升级新版本1.9.7

首先查看现在环境nginx的版本为1.8.0 编译的参数只指定了安装路径: [[email protected] 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版本,解压并进入解压后的目录 [[email pro

Nginx服务器 安装 与平滑升级详细介绍   简单使用1

#nginx -V (-V 可以显示出当时的标准,添加了什么模块) [[email protected] nginx-1.8.0]# ./configure --help |grep proxy --without-http_proxy_module        disable ngx_http_proxy_module --http-proxy-temp-path=PATH        set path to store http proxy temporary files --with-

Nginx平滑升级和平滑重启

如果要对当前的Nginx服务器进行版本升级,应用新模块,如果用户访问量比较大的时候,如果需要在不影响客户的情况下进行升级的话,这时候就得考虑平滑升级了. 平滑升级的过程,Nginx服务器接受到USR2信号后,首先将旧的nginx.pid文件添加后缀.oldbin,变为nginx.pid.oldbin文件,然后执行新版本的Nginx服务器的二进制的文件启动服务,这个时候需要提前将编译好的新版本的二进制实现复制到sbin文件夹中.如果新的服务启动成功,系统中将有新旧两个Nginx服务共同提供Web服

源码安装nginx以及平滑升级

作者:尹正杰 这个博客不方便上传软件包,我给大家把软件包放到百度云了: 链接:http://pan.baidu.com/s/1eS3bn4u 密码:04a1 欢迎加入:高级运维工程师之路 598432640 操作平台: 1.创建ngxin用户,(用于管理nginx服务,您也可以随意指定的哟~) useradd -s /sbin/nologin nginx 2.安装基础环境 yum -y install gcc pcre-devel openssl-devel zlib-devel 3.安装ngi

nginx的平滑升级方法:

最简单的nginx的平滑升级方法: 1 找到nginx的执行文件的路径 # ps auxf|grep nginx  记下nginx的master进程 pid(我这里是2752 ) 2 查看当前nginx的版本及编译参数: # nginx -V nginx version: nginx/1.8.0 built by gcc 4.4.7 20120313 (Red Hat 4.4.7-16) (GCC) built with OpenSSL 1.0.1e-fips 11 Feb 2013 TLS S

OpenResty 平滑升级

1.先去下载新版,当前最新版为“ngx_openresty-1.7.0.1” 2.开始升级 tar zxvf ngx_openresty-1.7.0.1.tar.gz cd ngx_openresty-1.7.0.1 ./configure --prefix=/usr/local/openresty/ --with-http_stub_status_module --add-module=/usr/local/nginx_upload_module-2.2.0 --with-luajit mak

高性能Web服务器Nginx的配置与部署研究(14)平滑升级你的Nginx

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

nginx平滑升级,K哥

2016年9月29日 nginx版本为1.6.0,需要升级下,但由于是生成环境就需要平滑升级了. 登录nginx官网查看最新版本 http://nginx.org/en/download.html 发现1.6大版本下,最新版为1.6.3 那么就升级到1.6.3 在服务器下载软件包 wget http://nginx.org/download/nginx-1.6.3.tar.gz 解压 tar -zxvf nginx-1.6.3.tar.gz 进入 cd nginx-1.6.3 编译 ./conf