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并没 ...
随机推荐
- 痞子衡嵌入式:走进二维码(QR Code)的世界(2)- 初体验(PyQt5.11+MyQR2.3+ZXing+OpenCV4.2.0)
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家分享的是走进二维码(QR Code)的世界专题之初体验. 接上篇 <走进二维码(QR Code)的世界(1)- 引言> 继续更文,在 ...
- Deep Dream模型与实现
Deep Dream是谷歌公司在2015年公布的一项有趣的技术.在训练好的卷积神经网络中,只需要设定几个参数,就可以通过这项技术生成一张图像. 本文章的代码和图片都放在我的github上,想实现本文代 ...
- 37.3 net--TcpDemo1 大小写转换
需求:使用TCP协议发送数据,并将接收到的数据转换成大写返回 启动方式:先打开服务端,再打开客户端 客户端 package day35_net_网络编程.tcp传输; import java.io.I ...
- leetcode 746. Min Cost Climbing Stairs(easy understanding dp solution)
leetcode 746. Min Cost Climbing Stairs(easy understanding dp solution) On a staircase, the i-th step ...
- std::string::assign函数
string& assign (const string& str); string& assign (const string& str, size_t subpos ...
- 【公益线上自习室】不连麦,无微信群,无qq群
马上就要到5月了,从刚开始的放纵已经逐渐变得慌乱. 疫情还没有完全过去,居家学习.工作是最好的选择. 但是,问题是,在家太舒服了,一点也不想学习. 一开始“哈哈哈哈哈哈哈哈”朋友了,现在已经开始“唉… ...
- 开源运动的"圣经"——《大教堂与集市》读书笔记
作者:Eric S. Raymond 一.黑客圈简史 1.早期 (1)MIT 与 ITS "黑客"一词大约就起源于MIT的计算机文化. 从PDP-1时代开始,黑客文化的命运就和DE ...
- 今日写一篇散文 Textview settext 方法不能放入 int 参数 不然报错!
Textview settext 方法不能放入 int 参数 不然报错!
- 从3dMax导出供threeJS使用的带动作模型与加载
评论区发现的建议,最近没空测试,先贴这 还有好多人说找不到插件的 https://pan.baidu.com/s/1Q5g0... 密码:b43e . 应该是他们现在只是维护blender,只有这个的 ...
- I. 蚂蚁上树
蚂蚁上树(Sauteed Vermicelli with minced Pork),又名肉末粉条,是四川省及重庆市的特色传统名菜之一.因肉末贴在粉丝上,形似蚂蚁爬在树枝上而得名.这道菜具体的历史,已不 ...