wget  http://tengine.taobao.org/download/tengine-1.5.1.tar.gz //下载Tengine1.5.1版本

tar zxvf tengine-1.5.1.tar.gz //解压到当前目录

cd tengine-1.5.1 //进入到目录

./configure //执行安装脚本

make //编译安装

mv /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.old //备份nginx的配置文件,路径参考你自己的

cp -r objs/nginx /usr/local/nginx/sbin/nginx //复制Tengine文件到nginx下

#vi /usr/local/nginx/conf/nginx.conf //编辑nginx.conf,删除如下代码
#location /status {
#stub_status on;
#access_log off;
#}

kill -USR2 `cat /usr/local/nginx/logs/nginx.pid`
kill -QUIT `cat /usr/local/nginx/logs/nginx.pid.oldbin`
//结束nginx进程

/usr/local/nginx/sbin/nginx -v //查看nginx版本号
返回带有Tengine版本号等信息则升级成功!

/*
************************************
**卸载Tengine,换回Nginx
************************************
*/
rm -rf /usr/local/nginx/sbin/nginx //删除Tengine配置文件

mv /usr/local/nginx/sbin/nginx.lod /usr/local/nginx/sbin/nginx  //恢复备份的nginx配置文件,路径参考你自己的

/etc/init.d/nginx restart //重启nginx

/usr/local/nginx/sbin/nginx -v //查看nginx版本号
返回带有Nginx版本号则卸载成功

实验如下:

[root@qike tengine-2.1.0]# kill -USR2 `cat /usr/local/nginx/logs/nginx.pid`  //  平滑升级  会在/usr/local/nginx/logs/ 下生成了nginx.pid.oldbin (以前的nginx进程号)  nginx.pid现在变为tengine的进程号.
[root@qike tengine-2.1.0]# cd  /usr/local/nginx/logs/
[root@qike logs]# ls -lh
total 48K
-rw-r--r-- 1 root root   46 Jul  4 00:19 aa
-rw-r--r-- 1 root root 5.2K Jun 20 23:29 access.log
-rw-r--r-- 1 root root  17K Aug  2 20:49 error.log
-rw-r--r-- 1 root root    6 Aug  2 20:49 nginx.pid
-rw-r--r-- 1 root root    6 Jul 27 23:36 nginx.pid.oldbin
drwxr-xr-x 2 root root 4.0K Jul  6 14:53 old
-rw-r--r-- 1 root root  209 Jul  4 00:01 test
[root@qike logs]# cat /usr/local/nginx/logs/nginx.pid
31941
[root@qike logs]# cat /usr/local/nginx/logs/nginx.pid.oldbin
24372
[root@qike logs]# ps -ef |grep  nginx    
root     24372     1  0 Jul27 ?        00:00:00 nginx: master process /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
nobody   24373 24372  0 Jul27 ?        00:00:14 nginx: worker process                                          
nobody   24374 24372  0 Jul27 ?        00:00:13 nginx: worker process                                          
nobody   24375 24372  0 Jul27 ?        00:00:15 nginx: worker process                                          
nobody   24376 24372  0 Jul27 ?        00:00:12 nginx: worker process                                          
root     31941 24372  0 20:49 ?        00:00:00 nginx: master process /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
nobody   31942 31941  0 20:49 ?        00:00:00 nginx: worker process                                          
nobody   31943 31941  0 20:49 ?        00:00:00 nginx: worker process                                          
nobody   31944 31941  0 20:49 ?        00:00:00 nginx: worker process                                          
nobody   31945 31941  0 20:49 ?        00:00:00 nginx: worker process                                          
root     32023 25663  0 20:50 pts/2    00:00:00 grep nginx
[root@qike logs]# kill -QUIT `cat /usr/local/nginx/logs/nginx.pid.oldbin`  //kill -QUIT  旧进程号(老进程)    会把旧的进程和nginx.pid.oldbin 这个文件干掉

[root@qike logs]# ps -ef |grep  nginx
root     31941     1  0 20:49 ?        00:00:00 nginx: master process /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
nobody   31942 31941  0 20:49 ?        00:00:00 nginx: worker process                                          
nobody   31943 31941  0 20:49 ?        00:00:00 nginx: worker process                                          
nobody   31944 31941  0 20:49 ?        00:00:00 nginx: worker process                                          
nobody   31945 31941  0 20:49 ?        00:00:00 nginx: worker process                                          
root     32073 25663  0 20:51 pts/2    00:00:00 grep nginx
[root@qike logs]# nginx -v
Tengine version: Tengine/2.1.0 (nginx/1.6.2)

nginx 平滑升级tengine的更多相关文章

  1. 让你的网站免费支持 HTTPS 及 Nginx 平滑升级

    为什么要使用 HTTPS ? 首先来说一下 HTTP 与 HTTPS 协议的区别吧,他们的根本区别就是 HTTPS 在 HTTP 协议的基础上加入了 SSL 层,在传输层对网络连接进行加密.简单点说在 ...

  2. Nginx range filter模块数字错误漏洞修复 (Nginx平滑升级) 【转】

    对线上生产环境服务器进行漏洞扫描, 发现有两台前置机器存在Nginx range filter模块数字错误漏洞, 当使用nginx标准模块时,攻击者可以通过发送包含恶意构造range域的header ...

  3. Nginx range filter模块数字错误漏洞修复 (Nginx平滑升级)

    对线上生产环境服务器进行漏洞扫描, 发现有两台前置机器存在Nginx range filter模块数字错误漏洞, 当使用nginx标准模块时,攻击者可以通过发送包含恶意构造range域的header ...

  4. nginx平滑升级实战

    Nginx 平滑升级 1.查看旧版Nginx的编译参数 [root@master ~]# /usr/local/nginx/sbin/nginx -V [root@master ~]# ll ngin ...

  5. Nginx平滑升级版本!(重点)

    一.解释nginx的平滑升级 随着nginx越来越流行使用,并且nginx的优势也越来越明显,nginx的版本迭代也开始了加速模式,1.9.0版本的nginx更新了许多新功能,例如stream四层代理 ...

  6. 02 . Nginx平滑升级和虚拟主机

    Nginx虚拟主机 在真实的服务器环境,为了充分利用服务器资源,一台nginx web服务器会同时配置N个虚拟主机,这样可以充分利用服务器的资源,方便管理员的统一管理 配置nginx虚拟主机有三种方法 ...

  7. Nginx平滑升级详细步骤-113p.cn

    认识平滑升级 有时候我们需要对Nginx版本进行升级以满足运维人员对其功能的需求,例如添加xxx模块,需要xxx功能,而此时Nginx又在跑着业务无法停掉,这时我们就只能平滑升级了. 平滑升级原理 N ...

  8. Nginx 平滑升级、Nginx的一些基础配置

    # Nginx 平滑升级 # 方案一:使用Nginx服务信号进行升级 # 1.将就版本的sbin目录下可执行nginx进行备份(mv nginx nginxold) # 2.将新版本 configur ...

  9. nginx平滑升级、在线添加模块(tengine 动态加载模块)

    http://www.orzace.com/how-to-upgrade-nginx/ 下面是nginx替换成tengine再加上lua 模块,(tengine-2.0.1版本暂时无法动态加载lua模 ...

随机推荐

  1. VS "15" 预览 5 中 VB 15 新增的功能

    VS "15" 预览 5 给 VB 带来了更新.这次的更新内容有3个: * 值元组 ValueTuple这个功能能把一组计算结果成组返回.为了使用这个功能,我们要安装 System ...

  2. 重新想象 Windows 8 Store Apps (59) - 锁屏

    [源码下载] 重新想象 Windows 8 Store Apps (59) - 锁屏 作者:webabcd 介绍重新想象 Windows 8 Store Apps 之 锁屏 登录锁屏,获取当前程序的锁 ...

  3. 泛函编程(20)-泛函库设计-Further Into Parallelism

    上两节我们建了一个并行运算组件库,实现了一些基本的并行运算功能.到现在这个阶段,编写并行运算函数已经可以和数学代数解题相近了:我们了解了问题需求,然后从类型匹配入手逐步产生题解.下面我们再多做几个练习 ...

  4. 【Effective Java】3、避免创建不必要的对象

    创建对象的时候,有些变量可以一直保持的时候,可以不必要每次实例化对象的时候都把这些变量初始化一遍,可以使用静态和静态块的方式把这些变量的数据固定下来 package cn.xf.cp.ch02.ite ...

  5. CSS的一些小事

    1.什么时候能将零散的图片整合成一张大图,达到减少请求数的作用? 答:整合进大图的图片是被设置no-repeat用的,如果是repeat-x.repeat-y就不可以. 2.E + F 选择紧贴在E元 ...

  6. 关于字符串replace方法第二个参数探究

    网上有关replace的文章很多了,这里主要聊聊它的第二个参数.阅读本文需要对replace方法有一定了解.W3school=>replace 我们要把一段字符串中的某些指定字符替换掉,第一时间 ...

  7. Access sql语句创建表及字段类型

    创建一张空表: Sql="Create TABLE [表名]" 创建一张有字段的表: Sql="Create TABLE [表名]([字段名1] MEMO NOT NUL ...

  8. 关于NSDate和NSDateFormatter的几个常用方法

    /** *  NSDate常见类方法 */ // 获得当前时间 NSDate *date1 = [NSDate date];   // 类方法 // NSDate *date1 = [[NSDate ...

  9. IOS xib在tableview上的简单应用(通过xib自定义cell)

    UITableView是一种常用的UI控件,在实际开发中,由于原生api的局限,自定义UITableViewCell十分重要,自定义cell可以通过代码,也可以通过xib. 这篇随笔介绍的是通过xib ...

  10. IOS的UI基础01

    内容大纲:(红色表示博主个人重点记忆) 1.指定启动界面 带箭头就是首次启动的页面2.两个常用的快捷键3.拖线子控件注意事项4.一般情况下,UIView的容器是控制器的View.5.didRecive ...