nginx平滑升级、在线添加模块(tengine 动态加载模块)
http://www.orzace.com/how-to-upgrade-nginx/
下面是nginx替换成tengine再加上lua 模块,(tengine-2.0.1版本暂时无法动态加载lua模块,只能编译加载)
安装系统所需web软件
1.下载luajit,官网 http://luajit.org/
wget http://luajit.org/download/LuaJIT-2.0.1.tar.gz
tar xzvf LuaJIT-2.0.1.tar.gz
cd LuaJIT-2.0.1
make PREFIX=/usr/local/LuaJIT-2.0.1
make install PREFIX=/usr/local/LuaJIT-2.0.1
2、yum install pcre-devel -y
3、/etc/profile
export LUAJIT_LIB=/usr/local/LuaJIT-2.0.1/lib
export LUAJIT_INC=/usr/local/LuaJIT-2.0.1/include/luajit-2.0
4、tar xzvf tengine-1.5.2.tar.gz
cd tengine-1.5.2
./configure --with-ld-opt="-Wl,-rpath,/usr/local/web/LuaJIT-2.0.1/lib" \
--prefix=/usr/local/tengine --with-http_lua_module \
--with-luajit-inc=/usr/local/LuaJIT-2.0.1/include/luajit-2.0
--with-luajit-lib=/usr/local/LuaJIT-2.0.1/lib
make -j2
make install -j2
5、nginx.conf
location /lua {
default_type 'text/plain';
content_by_lua 'ngx.say("hello, lua")';
}
6、测试
[root@node2 tengine]# curl http://localhost/lua
hello, lua
=====================================================================================
如果是别的模块,只需解压,加载即可
tar xvf ngx_cache_purge-1.5.tar.gz
cd /usr/local/tengine
sbin/dso_tool --add-module=/root/ngx_cache_purge-1.5
more /usr/local/tengine/conf/nginx.conf
dso {
load ngx_http_cache_purge_module.so;
}
sbin/nginx -s relaod
sbin/nginx -m
ngx_http_cache_purge_module (shared, 3.1)
验正即可
本文转自crazy_charles 51CTO博客,原文链接:http://blog.51cto.com/douya/1543399,如需转载请自行联系原作者
nginx平滑升级、在线添加模块(tengine 动态加载模块)的更多相关文章
- stevedore动态加载模块
stevedore动态加载模块,stevedore使用setuptools的entry points来定义并加载插件.entry point引用的是定义在模块中的对象,比如类.函数.实例等,只要在im ...
- OrchardCore 如何动态加载模块?
前言 今天,我们再次讨论下OrchardCore,通过初期调研,我们项目采用OrchardCore底层设施支持模块化,同时根据业务场景,额外还需支持二次开发,于是有了本文,若有不同解决方案,欢迎留言探 ...
- Python_getattr+__import__ 实现动态加载模块、类对象或函数
__import__() 语法 __import__(name[, globals[, locals[, fromlist[, level]]]]) 参数 name -- 字符串,模块的导入路径 说明 ...
- [driver]linux内核动态加载模块
问题: 1. 把编译好的模块放到板子/lib/modules对应文件夹下,并且执行了depmod -a, 比如pl2303.ko, 那么下一次插入pl2303的串口线,是否可以识别,也就是自动加载pl ...
- angular-ui-router动态加载模块
1.定义index.html主页,对于通用的js就不用require依赖加载了,其中main.js作为主模块,用require添加系统路由模块. <!DOCTYPE html> <h ...
- AngularJs 动态加载模块和依赖
最近项目比较忙额,白天要上班,晚上回来还需要做Angular知识点的ppt给同事,毕竟年底要辞职了,项目的后续开发还是需要有人接手的,所以就占用了晚上学习的时间.本来一直不打算写这些第三方插件的学习笔 ...
- NGINX的启停命令、以及动态加载配置文件的命令
-- 启动(不推荐):在nginx目录下有一个sbin目录,sbin目录下有一个nginx可执行程序../nginx -- 启动(指定配置文件,推荐)/usr/local/nginx/sbin/ngi ...
- Apache动态加载模块
添加步骤:如要额外安装cgi,先找到mod_cgi.c及mod_cgid.c.一般在apache安装包目录下,如 ./httpd-2.2.25/modules/generators .#编译安装 cg ...
- Python模块的动态加载机制
Python在运行环境初始化中,就将sys module加载到了内存中, 实际上,Python是将一大批的module加载到了内存中.但是为了使local名字空间能够达到最干净的效果,Python并没 ...
随机推荐
- Scratch 第3课神奇画笔
素材及视频下载 链接:https://pan.baidu.com/s/1qX0T2B_zczcLaCCpiRrsnA提取码:xfp8
- springmvc <mvc:resource /> 标签使用
<!-- 配置静态资源 --><mvc:resources location="/static/" mapping="/static/**"/ ...
- go 内存优化
一.斐波那切数列优化 package main import ( "time" "fmt" ) const LIM = 41 var fibs [LIM]uin ...
- 23.1 abstract抽象类案例
package day2_抽象类; /* * 基础班老湿,就业班老湿 * 共性 * 属性 姓名,年龄,性别 * 行为 讲课 */ public class AbstractTeacherTest { ...
- SQL——语法基础篇(上)
用数据库的方式思考SQL是如何执行的 虽然 SQL 是声明式语言,我们可以像使用英语一样使用它,不过在 RDBMS(关系型数据库管理系统)中,SQL 的实现方式还是有差别的.今天我们就从数据库的角度来 ...
- Powershell抓取网页信息
一般经常使用invoke-restmethod和invoke-webrequest这两个命令来获取网页信息,如果对象格式是json或者xml会更容易 1.invoke-restmethod 我们可以用 ...
- 【学习笔记】Iperf3网络性能测试工具
[学习笔记]Iperf3网络性能测试工具 网络性能评估主要是监测网络带宽的使用率,将网络带宽利用最大化是保证网络性能的基础,但是由于网络设计不合理.网络存在安全漏洞等原因,都会导致网络带宽利用率不高. ...
- 一个不错的spring 学习博客
http://www.iteye.com/blogs/subjects/spring-tittle-tattle
- Linux学习6-安装Python3.6
前言 今天我们来学习一下如何在Linux环境下安装Python3.6吧! 一:下载Python3.6(我下载的是python3.6.8) 地址:https://www.python.org/downl ...
- G - Pairs Forming LCM LightOJ - 1236 (质因子分解)
题解:这道题要从n的角度来考虑i和j. n可以表示为n=a1^p1*a2^p2*a3^p3.......n=lcm(i,j),那么质因子a1^p1,a1可以在i或者j中,并且p1=max(a1i,a1 ...