Nginx 安装 lua-nginx-module 模块原创 |
一、什么是 Lua
Lua 是一个简洁、轻量、可扩展的脚本语言,也是号称性能最高的脚本语言,用在很多需要性能的地方,比如:游戏脚本,nginx,wireshark 的脚本。当你把他的源码下下来编译后,你会发现解释器居然不到 200k,非常变态。。。很多应用程序使用 Lua 作为自己的嵌入式脚本语言,以此来实现可配置性、可扩展性。 二、什么是 nginx_lua 👄⛄🍚🆎🐒 ngx_lua 是 Nginx 的一个模块,将 Lua 嵌入到 Nginx 中,从而可以使用 Lua 来编写脚本,这样就可以使用 Lua 编写应用脚本,部署到 Nginx 中运行。常常用 ngx_lua 编写 WAF 规则,部署在 WAF 服务器上。 三、安装 LuaJIT 👃🌞🔪🚷🐟 官网( )2.0.5 是稳定版 ,下载编译安装它。
👩✈️🩴💶😛 我在里面没有看到 configure 文件,反而看到了 Makefile ,所以直接编译安装了。
安装成功提示 ==== Successfully installed LuaJIT 2.0.5 to /usr/local ==== 💅💈🍧🅿🐂设置临时环境变量:
四、下载需要的模块👵🧥📐😴🤙 下载好只需解压,不需要单独安装。 1.ngx_devel_kit(NDK)模块 源码地址 🧑🚀💍🔭 我下载的是 v0.3.0 版本的 ,记住解压后的路径,后面会用到。
🧑🎤🪖🎺🥰👈 2.lua-nginx-module 模块 源码地址 我下载的是 v0.10.14 版本的,记住解压后的路径,后面会用到。 👆🚗🍞♀🐮
✍🌧🍖📳🦋 五、重新编译 nginx进入 nginx 的源码目录(为了保险起见,我创建了一份新的 nginx 源码),在新源码目录内使用命令 nginx -V 查看之前的编译参数。 需要在后面修改为 :
--with-ld-opt=-Wl,-rpath,/usr/local/luajit/lib --add-module=/root/web/ngx_devel_kit-0.3.0 --add-module=/root/web/lua-nginx-module-0.10.14 蓝色是新加的,那两个目录地址就是上面解压的地址。 然后 ./configure 你的编译参数。因为我们的参数可能不一样,所以这里我就不贴我的出来了。 🦷🚠🌶❗🐯 注意: 这里只能 make 🧑⚕️👓🩺🤡🤟 不能 make install make 完成之后,备份原来的 nginx 文件,然后把编译目录下 objs/nginx 复制过去
🧑🚀👙🗑🤩💅 使用 nginx -t 命令检查是否正确。 没有提示错误的话,使用 make upgrade 命令替换老的 nginx 进程。👩✈️👚🧪🤮👃 最后用 nginx -V 查看编译参数是否为刚才的参数。 六、检查模块是否安装成功 👂🌕🍧🅱🐡 在 nginx.conf 中加入:
👂🎢🍞🆒🐤 访问 https://你的域名/hello_lua 或 https://你的域名/hello_lua/ 出现 hello, world 就表示安装成功了! 💅🚐🫖🈚🐖 评分
帖子热度 1.2万 ℃
|
|
为什么是 访问 https://你的域名/hello_lua 或 https://你的域名/hello_lua/ 呢?
因为我这边的伪静态规则冲突了.....可能你们访问 /hello_lua 就可以。 🧑⚕️👔💉🙃👃 |