网站首页 > 精选教程 正文
前言
淘宝的agentzh和chaoslawful开发的ngx_lua模块通过将lua解释器集成进Nginx。能够採用lua脚本实现业务逻辑,因为lua的紧凑、高速以及内建协程,所以在保证高并发服务能力的同一时候极大地减少了业务逻辑实现成本。
系统依赖包
yum -y install pcre-devel openssl-devel gcc curl zlib-devel gcc-c++
组件介绍
LuaJIT:lua的一个即时编译器
Nginx Devel Kit:NDK是一个nginx模块,以一种可作用于其他nginx模块的方式,扩展nginx核心功能。
Lua Nginx Module:该模块将Lua解释器或LuaJIT嵌入到nginx核心中,并通过nginx子请求将强大的Lua线程(也称为Lua协程)集成到nginx事件模型中。
nginx:web服务
下载编译安装
wget -c http://luajit.org/download/LuaJIT-2.0.5.tar.gz
tar zxvf LuaJIT-2.0.5.tar.gz
cd LuaJIT-2.0.5
make install PREFIX=/opt/luajit
export LUAJIT_LIB=/opt/luajit/lib
export LUAJIT_INC=/opt/luajit/include/luajit-2.0
( 如果不设置环境变量,在nginx编译的时候会找不到lua模块:./configure: error: ngx_http_lua_module requires the Lua library.)
cd ..
wget -c -O ngx_devel_kit-0.3.0.tar.gz https://codeload.github.com/simplresty/ngx_devel_kit/tar.gz/v0.3.0
tar zxvf ngx_devel_kit-0.3.0.tar.gz
wget -c -O lua-nginx-module-0.10.13.tar.gz https://codeload.github.com/openresty/lua-nginx-module/tar.gz/v0.10.13
tar zxvf lua-nginx-module-0.10.13.tar.gz
wget -c http://zlib.net/zlib-1.2.11.tar.gz
tar zxvf zlib-1.2.11.tar.gz
wget -c https://www.openssl.org/source/openssl-1.0.2p.tar.gz
tar zxvf openssl-1.0.2p.tar.gz
wget -c https://ftp.pcre.org/pub/pcre/pcre-8.42.tar.gz
tar zxvf pcre-8.42.tar.gz
wget -c http://nginx.org/download/nginx-1.12.2.tar.gz
tar zxvf nginx-1.12.2.tar.gz
cd nginx-1.12.2
./configure --prefix=/opt/nginx --add-module=../ngx_devel_kit-0.3.0 --add-module=../lua-nginx-module-0.10.13 --with-openssl=../openssl-1.0.2p --with-zlib=../zlib-1.2.11 --with-pcre=../pcre-8.42 --with-http_ssl_module --with-http_v2_module --with-http_realip_module --with-http_stub_status_module
make
make install
软连接或者添加环境变量
nginx报错: error while loading shared libraries: libluajit-5.1.so.2: cannot open shared object file: No such file or directory
可以执行:
ln -s /usr/local/luajit/lib/libluajit-5.1.so.2 /lib64/libluajit-5.1.so.2
或者添加环境变量:
echo 'export LD_LIBRARY_PATH=/opt/luajit/lib:$LD_LIBRARY_PATH' >> /etc/profile
source /etc/profie
验证
vim /opt/nginx/conf/nginx.conf
#在nginx.conf中,server->location配置
location /hello {
default_type 'text/plain';
content_by_lua 'ngx.say("hello, lua")';
}
启动nginx
/opt/nginx/sbin/nginx
访问
http://[服务器IP]/hello
可以看到
hello, lua
- 上一篇: 企业值得一用的5个项目管理工具(下)
- 下一篇: Lua在Nginx的应用 nginx lua教程
猜你喜欢
- 2024-10-04 Java并发:分布式应用限流 Redis + Lua 实践
- 2024-10-04 OpenResty(一)Lua openresty lua脚本灰度发布
- 2024-10-04 运维篇—基于Nginx+Lua实现的灰度发布
- 2024-10-04 Nginx与LUA(4) nginx lua优缺点
- 2024-10-04 高并发限流技术分析及实践 高并发限流方案
- 2024-10-04 Redis弱事务性与Lua脚本原子性分析
- 2024-10-04 像调试java一样来调试Redis lua redis调试工具
- 2024-10-04 Nginx与LUA(3) nginx与uwsgi详解
- 2024-10-04 企业级电商网站使用Nginx+Lua(OpenResty)实现高性能Web应用
- 2024-10-04 Lua 基础入门 lua语言零基础教程视频
你 发表评论:
欢迎- 最近发表
-
- 我的世界光影MOD下载(我的世界光影mod下载安装)
- 我的世界1.7/1.8VoxelMap小地图MOD下载
- 我的世界1.7.10多世界 整合包(我的世界1.7.10forge整合包)
- 我的世界1.8最好用的修改器下载(我的世界1.8最好用的修改器下载安装)
- 我的世界更多弯曲动作MOD下载(我的世界更多弯曲动作mod下载手机版)
- 我的世界龙珠MOD下载(我的世界龙珠模组整合包下载)
- 我的世界1.7.10以太2 下载(我的世界以太2mod1.12.2)
- 我的世界虚拟人生MOD下载分享(我的世界虚拟人生下载安装)
- 我的世界无正版账号的简单联机方法(非网易版,仅适用于局域网)
- “我的语言极限,即是我的世界的极限。” ——《On Java》书籍推荐
- 标签列表
-
- nginx反向代理 (57)
- nginx日志 (56)
- nginx限制ip访问 (62)
- mac安装nginx (55)
- java和mysql (59)
- java中final (62)
- win10安装java (72)
- java启动参数 (64)
- java链表反转 (64)
- 字符串反转java (72)
- java逻辑运算符 (59)
- java 请求url (65)
- java信号量 (57)
- java定义枚举 (59)
- java字符串压缩 (56)
- java中的反射 (59)
- java 三维数组 (55)
- java插入排序 (68)
- java线程的状态 (62)
- java异步调用 (55)
- java中的异常处理 (62)
- java锁机制 (54)
- java静态内部类 (55)
- java怎么添加图片 (60)
- java 权限框架 (55)
本文暂时没有评论,来添加一个吧(●'◡'●)