我的升级环境:
旧版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. java 知识点梳理

    1.ArrayList与linkedList 区别 ArrayList 采用的是数组形式来保存对象的,这种方式将对象放在连续的位置中,所以最大的缺点就是插入删除时非常麻烦; 优点是查找比较快. Lin ...

  2. CVE-2015-3337(任意文件读取)

    vulhub漏洞环境搭建: https://blog.csdn.net/qq_36374896/article/details/84102101 启动docker环境 cd vulhub-master ...

  3. struts-032利用工具 PythonGUI

    # -*- coding: utf-8 -*- import requests from Tkinter import * class App: def __init__(self, master): ...

  4. ssh端口转发学习笔记

    ssh端口转发学习笔记 ssh命令参数介绍 -C 压缩数据传输 -f 将 ssh 转到后台运行,即认证之后,ssh 自动以后台运行.不在输出信息 -n 将 stdio 重定向到 /dev/null,与 ...

  5. python练习册 每天一个小程序 第0007题

    1 # -*-coding:utf-8-*- 2 __author__ = 'Deen' 3 ''' 4 题目描述: 5 有个目录,里面是你自己写过的程序,统计一下你写过多少行代码.包括空行和注释,但 ...

  6. Go 语言 切片的使用(增删改查)

    Go 语言 切片的使用(增删改查) 引言Golang 的数组是固定长度,可以容纳相同数据类型的元素的集合.但是当长度固定了,在使用的时候肯定是会带来一些限制,比如说:申请的长度太大会浪费内存,太小又不 ...

  7. Lua协程的一个例子

    很久没记录笔记了,还是养成不了记录的习惯 下面是来自 programming in lua的一个协程的例(生产者与用户的例子) 帖代码,慢慢理解 -- Programming in Lua Corou ...

  8. idea如何打包项目,部署到linux后台运行

    服务器安装tomcat 上传好tomcat包 scp -r tomcat liwwww@111116.11222.101121.12111111:/opt/ linux下启动tomcat服务的命令   ...

  9. REST 和RPC对比?

    1.RPC主要的缺陷是服务提供方和调用方式之间的依赖太强,需要对每一个微服务进行接口的定义,并通过持续继承发布,严格版本控制才不会出现冲突. 2.REST是轻量级的接口,服务的提供和调用不存在代码之间 ...

  10. 匿名内部类编译生成的class文件

    一.问题描述 跳槽到的新公司,相比原来的公司,软件开发非常不规范,经常各种坑.项目部署到生产现场之后,出现问题,我在修改之后编译生成class文件,然后将class文件发给现场的技术支持,技术支持将c ...