我的升级环境:
旧版Nginx:1.6
新版Nginx:1.12.2
系统:Redhat 5.5 64位
 
 
前期准备
1、查看Nginx的安装位置
ps -ef |grep nginx  --如果Nginx没在运行,则漏洞为误报,可上报领导。
root     19681(PID号)     1  0 10:44 ?        00:00:00 nginx: master process ./nginx
hgaop    19682 19681  0 10:44 ?        00:00:00 nginx: worker process
root     22014 21985  0 11:14 pts/1    00:00:00 grep nginx
# ll /proc/19681   --513为进程PID号
lrwxrwxrwx 1 hgaop hgaop 0 Mar 2 16:20 cwd -> /data/hgaop/test/nginx/sbin –Nginx启动命令位置,/data/hgaop/test/nginx安装路径
lrwxrwxrwx 1 hgaop hgaop 0 Mar 2 17:07 exe -> /data/hgaop/test/nginx/sbin/nginx
 
2、找出相关文件的位置
find / -name nginx.pid error.log nginx.lock(我的服务器上面没找到) access.log
/data/hgaop/test/nginx/logs/nginx.pid
/data/hgaop/test/nginx/logs/error.log
/data/hgaop/test/nginx/logs/access.log
注意:如果上面找到的文件有些不在安装目录下,则在第四步配置需要指定相关文件的路径,例如:
--pid-path=/data/hgaop/test/nginx/logs/nginx.pid \
--lock-path=/data/hgaop/test/nginx/logs/nginx.lock \
--error-log-path=/data/hgaop/test/nginx/logs/error.log \
--http-log-path=/data/hgaop/test/nginx/logs/access.log \

3、可查看Nginx配置文件,看下端口和网站代码的目录等等,然后用浏览器看是否可以登录
 
升级开始:
一、首先查看一下Nginx版本
/data/hgaop/test/nginx/sbin/nginx -v
 
二、下载最新版本的nginx
网址:Nginxhttp://nginx.org/
 
三、将下载的文件上传到服务器中,解压
tar –zxf nginx-1.12.2.tar.gz
cd /data/nginx-1.12.2
 
四、配置
可用./configure --help查看相关的配置参数,包括制定openssl或者zlib库的路径等等
其中—prefix指定编译的路径。我这里是旧版Nginx的安装路径。告诉编译的Nginx启动文件来这里找nginx.pid,error.log,nginx.lock(我的服务器上面没找到),access.log这四个文件。
./configure \
--user=hgaop \
--group=hgaop \
--prefix=/data/hgaop/test/nginx \
--with-http_stub_status_module \
--with-http_ssl_module
 
五、执行,这里要主要,是只执行make,不能执行make install,切记!!!!!!
# make
 
六、将sbin下的nginx重命名为nginx.old
# mv/data/hgaop/test/nginx/sbin/nginx /data/hgaop/test/nginx/sbin/nginx.old
 
七、复制编译后的objs目录下的nginx到nginx安装目录的sbin下
cd /data/nginx-1.12.2   --执行make的目录
cp objs/nginx /data/hgaop/test/nginx/sbin/
 
八、这里可以测试一下新复制过来的文件是否生效,如果出现下面的 OK 与 successful为正确即可。如下:
# /data/hgaop/test/nginx/sbin/nginx -t
nginx: the configuration file /data/hgaop/test/nginx/conf/nginx.conf syntax is ok nginx: configuration file /data/hgaop/test/nginx/conf/nginx.conf test is successful
可能出现的错误:提示找不到pid,Nginx.conf或者.log文件。
解决:重新在第四步开始。配置要指定pid或者log文件等等(找不到哪个就指定哪个)。如前期准备的第2步说的那样。
 
 
九、停止旧版Nginx,把nginx.pid文件修改成nginx.pid.oldbin,随即重新启动nginx,实现不间断升级。
# cd /data/hgaop/test/nginx/sbin/
# ./nginx.old –s stop  --停止旧版Nginx
# ./nginx --直接回车,启动新版Nginx
 
十、升级完成后,重新查看一下版本即可
# /data/hgaop/test/nginx/sbin/nginx -v
 
十一、去网页访问,网页是否能够打开,查看源代码,看Nginx版本。
 
 

linux升级Nginx1.6到Nginx1.12.2的更多相关文章

  1. 【转载】Linux升级NTPD服务器-编译安装ntp-4.2.8p12与配置

    [转载]Linux升级NTPD服务器-编译安装ntp-4.2.8p12与配置 1. 系统与软件版本 1.1 系统版本 rhel6.4(Red Hat Enterprise Linux Server r ...

  2. Linux 升级内核开启 TCP BBR 有多大好处

    前言 如果你有订阅一些科技新闻,应该会有看过内核在4.9当中加入了一个新的算法,来解决在有一定的丢包率的情况下的带宽稳定的问题,这个是谷歌为我们带来的干货,新的 TCP 拥塞控制算法 BBR (Bot ...

  3. Linux就这个范儿 第12章 一个网络一个世界

    Linux就这个范儿 第12章 一个网络一个世界 与Linux有缘相识还得从一项开发任务说起.十八年前,我在Nucleus  OS上开发无线网桥AP,需要加入STP生成树协议(SpanningTree ...

  4. 关于centos7和centos6中平滑升级nginx到新版本v1.12.1修复nginx最新漏洞CVE-2017-7529的解决方案

    关于centos7和centos6中平滑升级nginx到新版本v1.12.1修复CVE-2017-7529漏洞的解决方案 漏洞描述 2017年7月11日,Nginx官方发布最新的安全公告,在Nginx ...

  5. linux升级mysql到5.7

    原文:http://blog.csdn.net/qing_gee/article/details/41774265 Linux升级MySQL版本到5.7. 1.下载Linux的5.7版本,主要需要两个 ...

  6. (3)Linux命令分类汇总(7~12)

    Linux命令分类汇总(7~12) (七)用户管理命令(12个) 1    useradd cdgs   添加用户. 2     usermod 修改系统已经存在的用户属性. 3    userdel ...

  7. Linux升级命令yum upgrade和yum update的区别

    Linux升级命令有两个分别是yum upgrade和yum update, 这个两个命令是有区别的: yum -y update 升级所有包同时也升级软件和系统内核 yum -y upgrade 只 ...

  8. window升级Nginx1.10到1.12.2

    window升级Nginx较为简单,只需要修改配置文件,然后启动即可. 环境:window系统 服务器:10.123.98.92 Nginx目录:e:\hgeagle\nginx-1.10.1 旧版N ...

  9. Linux升级C基本运行库CLIBC

    在你准备升级GLIBC库之前,你要好好思考一下, 你真的要升级GLIBC么? 你知道你自己在做什么么? glibc是gnu发布的libc库,即c运行库.glibc是linux系统中最底层的api,几乎 ...

随机推荐

  1. Django基础二静态文件和ORM

    Django基础二静态文件和ORM 目录 Django基础二静态文件和ORM 1. 静态文件 1.1 静态文件基本配置: 1.2 静态文件进阶配置 2. request参数 3. Django配置数据 ...

  2. AT2300题解

    两种做法都说一说吧... 题意很明确. 1.数论分块 对于一个 \(d\) 和给定的 \((l,r)\),\((l,r)\) 对其造成贡献的条件很明显是 \(\lfloor \frac {l-1} d ...

  3. Redis(一):基本数据类型与底层存储结构

    最近在整理有关redis的相关知识,对于redis的基本数据类型以及其底层的存储结构简要的进行汇总和备注(主要为面试用) Redis对外提供的基本数据类型主要为五类,分别是 STRING:可以存储字符 ...

  4. Nebula Graph 在网易游戏业务中的实践

    本文首发于 Nebula Graph Community 公众号 当游戏上知识图谱,网易游戏是如何应对大规模图数据的管理问题,Nebula Graph 又是如何帮助网易游戏落地游戏内复杂的图的业务呢? ...

  5. linux更新源管理

    1.备份源 主要防止在更新了新的源之后出现错误情况,备份一下现有的源 sudo cp /etc/apt/sources.list /etc/apt/sources.list.old 2.编辑sourc ...

  6. kmp-getNext

    #include <iostream> using namespace std; void getNext(char a[]){ int k=-1,i=0,next[10]; next[0 ...

  7. redis事务及相关命令介绍

    redis事务及相关命令介绍 一.概述:和众多其它数据库一样,Redis作为NoSQL数据库也同样提供了事务机制.在Redis中,MULTI/EXEC/DISCARD/WATCH这四个命令是我们实现事 ...

  8. overflow原理?

    overflow: hidden能清除块内子元素的浮动影响. 因为该属性进行超出隐藏时需要计算盒子内所有元素的高度, 所以会隐式清除浮动 创建BFC条件(满足一个): float的值不为none: o ...

  9. springboot监听kafka(不使用spring-kafka)

    一.不使用spring-kafka的原因 kafka服务端版本为0.10.0.1-Ipv20191220-hbp2.1.0,为避免版本问题导致监听失败,客户端也采用0.10.0.1版本,客户端0.10 ...

  10. Java有没有goto?

    goto 是Java中的保留字,在目前版本的Java中没有使用.(根据James Gosling(Java之父)编写的<The Java Programming Language>一书的附 ...