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. 线段树区间求最大值(点更新)---I Hate It

    HDU   1754 Description 很多学校流行一种比较的习惯.老师们很喜欢询问,从某某到某某当中,分数最高的是多少. 这让很多学生很反感. 不管你喜不喜欢,现在需要你做的是,就是按照老师的 ...

  2. python pip 升级每个包

    pip本身不自带升级所有包的功能, 但可以通过下面的脚本实现. import pip from subprocess import call for dist in pip.get_installed ...

  3. java入门基础知识点总结

    JavaScript他是一种描述性语言,其实他并不难学,只要用心学,一定会学好,我相信大家在看这篇文章的时候,一定也学过HTML吧,使用JavaScript就是为了能和网页有更好的交互,下面切入主题. ...

  4. ahjesus ubuntu10.4安装ruby2.1.1

    sudo apt-get install python-software-properties sudo apt-add-repository ppa:brightbox/ruby-ng sudo a ...

  5. Java8 如何进行stream reduce,collection操作

    Java8 如何进行stream reduce,collection操作 2014-07-16 16:42 佚名 oschina 字号:T | T 在java8 JDK包含许多聚合操作(如平均值,总和 ...

  6. ajax提交复杂对象数据

    public class RouteItemManageReq { private List<WorkNodeReq> targetNodes; private RouteItemReq ...

  7. (HY000): Cannot modify @@session.sql_log_bin inside a transaction

    昨天,线上发生一例(HY000): Cannot modify @@session.sql_log_bin inside a transaction代码缺少显示的start transaction控制 ...

  8. js得到屏幕宽高、页面宽高 (window.screen.availHeight)等--笔记

    window.screen.availWidth 返回当前屏幕宽度(空白空间) window.screen.availHeight 返回当前屏幕高度(空白空间) window.screen.width ...

  9. jekyll

    bundle show minima查看安装路径 bundle exec github-pages versions 建立一个类似于master的分支,与master是完全独立 git checkou ...

  10. Backbone学习笔记一Backbone中的MVC

    原文章地址http://bigdots.github.io/2015/12/01/Backbone学习笔记(一)/#more Backbone.js为复杂WEB应用程序提供模型(models).集合( ...