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 protected] ~]# wget -P /usr/local/src/  http://nginx.org/download/nginx-1.9.7.tar.gz
[[email protected] ~]# cd /usr/local/src/ 
[[email protected] src]# tar -zxvf nginx-1.9.7.tar.gz  
[[email protected] src]# cd nginx-1.9.7

编译安装之前查看nginx进程ID信息:

[[email protected] nginx-1.9.7]# ps -ef |grep nginx
root       894     1  0 16:06 ?        00:00:00 nginx: master process /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
nobody     896   894  0 16:06 ?        00:00:00 nginx: worker process                                          
nobody     897   894  0 16:06 ?        00:00:00 nginx: worker process

编译安装:指定用户www 支持ssl 支持pcre 支持状态查询 支持静态压缩模块;

[[email protected] nginx-1.9.7]# ./configure --user=www --group=www --prefix=/usr/local/nginx/ --with-pcre --with-http_stub_status_module --with-http_ssl_module --with-http_gzip_static_module

编译安装后可以echo $?查看是否成功,成功后只需要执行make,不需要make install;

[[email protected] nginx-1.9.7]# make

平滑升级,先移走现有的nginx二进制文件

[[email protected] nginx-1.9.7]# mv /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.old

拷贝新生成的nginx二进制文件到指定目录

[[email protected] nginx-1.9.7]# cp objs/nginx /usr/local/nginx/sbin/


执行升级命令

[[email protected] nginx-1.9.7]# make upgrade
/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
kill -USR2 `cat /usr/local/nginx//logs/nginx.pid`
sleep 1
test -f /usr/local/nginx//logs/nginx.pid.oldbin
kill -QUIT `cat /usr/local/nginx//logs/nginx.pid.oldbin`


查看版本,发现已经是1.9.7版本,编译的参数也存在;

[[email protected] nginx-1.9.7]# /usr/local/nginx/sbin/nginx -V
nginx version: nginx/1.9.7
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 SNI support enabled
configure arguments: --user=www --group=www --prefix=/usr/local/nginx/ --with-pcre --with-http_stub_status_module --with-http_ssl_module --with-http_gzip_static_module

创建www用户

[[email protected] nginx-1.9.7]# useradd -s /sbin/nologin -M www

查看nginx进程 PID已经更改

[[email protected] sbin]# ps -ef |grep nginx
root      3814     1  0 16:23 ?        00:00:00 nginx: master process /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
nobody    3815  3814  0 16:23 ?        00:00:00 nginx: worker process                                          
nobody    3816  3814  0 16:23 ?        00:00:00 nginx: worker process


修改nginx.conf配置文件,更改用户和用户组为www用户,保存退出,重启nginx服务;

[[email protected] conf]# ps -ef |grep nginx
root      3814     1  0 16:23 ?        00:00:00 nginx: master process /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
www       4200  3814  0 16:48 ?        00:00:00 nginx: worker process                                          
www       4201  3814  0 16:48 ?        00:00:00 nginx: worker process

nginx版本平滑升级结束;

时间: 2024-10-20 16:32:43

nginx1.8.0版本平滑升级新版本1.9.7的相关文章

nginx-1.12.0版本(编译安装)-自定义安装路径

nginx-1.12.0版本(编译安装)-自定义安装路径 安装路径:/application/nginx-1.12.0 1.前期准备 安装编译需要的gcc和gcc-c++ yum install -y gcc gcc-c++ nginx依赖 pcre-devel.openssl-devel.zlib-devel yum install -y pcre pcre-devel openssl openssl-devel zlib zlib-devel 创建用户nginx,以该用户的身份执行nginx

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: --

Nginx平滑升级版本!

一.解释nginx的平滑升级 随着nginx越来越流行使用,并且nginx的优势也越来越明显,nginx的版本迭代也开始了加速模式,1.9.0版本的nginx更新了许多新功能,例如stream四层代理功能.伴随着nginx的广泛应用,版本升级必然是越来越快的,线上业务不能停,此时nginx的升级就是运维的重要工作了,下面就带大家一起来理解下nginx平滑升级. 二.nginx平滑升级原理 多进程模式下的请求分配方式 Nginx默认工作在多进程模式下,即主进程(master process)启动后

nginx版本低,但是又不能关闭怎么办?一招教你平滑升级

1.查看现有的 nginx 编译参数 我这里以1.16.0为例升级到1.16.1(编译安装的才可以) [[email protected] ~]# /usr/local/nginx/sbin/nginx -V nginx version: nginx/1.16.0 built by gcc 4.8.5 20150623 (Red Hat 4.8.5-39) (GCC) built with OpenSSL 1.0.2k-fips 26 Jan 2017 TLS SNI support enabl

nginx通过shell脚本平滑升级版本

1.简介 有时候nginx发布了新BUG或者添加了新的功能时,想要更新的时候服务又不能中断,这时候就要用到nginx的平滑升级了. 该脚本同样适用于添加新扩展,添加新扩展的时候只需要把更新的版本修改为当前版本,更新的时候把需要添加的扩展加上去即可.我这里nginx安装目录为/usr/local/nginx当前系统,阿里云ECS CentOS 7 64位 2.查看nginx版本与编译信息/usr/local/nginx/sbin/nginx -V 注:这里的扩展要记录下来(重要),等下升级的时候用

升级PowerShell至4.0版本

为了更好的使用Cmder v1.2,不得不升级PowerShell为4.0. 不知道Cmder的,可以点击这里:https://github.com/cmderdev/cmder 和 逆天神器 cmder. Powershell是运行在Windows机器上实现系统和应用程序管理自动化的命令行脚本环境. 需要.NET环境的支持, 同时支持.NET对象.当前PowerShell有5个版本,分别为1.0.2.0.3.0.4.0.5.0 如果系统是Windows 7或者Windows Server 20

[.net 面向对象程序设计深入](4).NET MVC ——谈谈MVC的版本变迁及新版本6.0发展方向

[.net 面向对象程序设计深入](4).NET MVC ——谈谈MVC的版本变迁及新版本6.0发展方向 1.关于MVC 在本篇中不再详细介绍MVC的基础概念,这些东西百度要比我写的全面多了,MVC从1.0到5.0的时间也不短了,很多人只是按照范例去使用MVC的一些基础功能,并没有更加深入的了解MVC.在这一系列中,我主要介绍MVC的一些原理和使用技巧,以及MVC的发展方向. 先说说MVC,首先他是一种设计模式,如果你百度为什么GOF23种设计模式中没有MVC,答案很有意思,如下: “在他们看来

CMS .NET 程序框架 从2.0/3.5升级到4.0 版本后 需要调整的地方

问题一: document.forms1.action 不可使用 需要修改程 document.forms[0] .NET 程序框架 从2.0/3.5升级到4.0 版本后,document.forms1  不可使用 也就是说所有浏览器都是支持document.forms["form1"]这样的写法的. 微软4.0之前是document.form1也能获取, 升级到4.0之后 取值方式为document.forms["form1"] 或者document.forms[

排查logstash2.4升级到5.0版本后kafka不兼容问题

参考文档: /usr/share/logstash/vendor/bundle/jruby/1.9/gems/logstash-input-kafka-5.0.5/CHANGELOG.md /usr/share/logstash/vendor/bundle/jruby/1.9/gems/logstash-input-kafka-5.0.5/DEVELOPER.md /usr/share/logstash/vendor/bundle/jruby/1.9/gems/logstash-input-ka