• 进入"运维那点事"后,希望您第一件事就是阅读“关于”栏目,仔细阅读“关于Ctrl+c问题”,不希望误会!

Nginx使用Lua扩展模块功能

Nginx 彭东稳 9年前 (2016-07-01) 26302次浏览 已收录 0个评论

什么是LUA

Lua从一开始就是作为一门方便嵌入(其它应用程序)并可扩展的轻量级脚本语言来设计的,因此她一直遵从着简单、小巧、可移植、快速的原则,官方实现完全采用ANSI C编写,能以C程序库的形式嵌入到宿主程序中。

Lua脚本是一个很轻量级的脚本,也是号称性能最高的脚本,用在很多需要性能的地方,比如:游戏脚本,Nginx,Wireshark的脚本。

什么是Nginx_Lua_Module

Nginx_Lua_Module是由淘宝的工程师清无(王晓哲)和春来(章亦春)所开发的Nginx第三方模块,它能将Lua语言嵌入到Nginx配置中,从而使用Lua就极大增强了Nginx的能力。

编译Nginx并加载Lua

安装基础编译环境

下载相关软件源码包

下载当前最新的Nginx、Luajit和Ngx_devel_kit(NDK),以及Lua-nginx-module源码包

创建Nginx运行的普通用户

安装LuaJIT

Luajit是Lua即时编译器

安装Nginx并加载模块

让Nginx支持Lua有两种方法:一是使用Luajit即时编译器,二是使用Lua编译器。推荐使用Luajit,因为效率高。其中Ngx_devel_kit的作用有2个:一是开发用的,二是可以在错误日志中记录Nginx处理阶段信息(rewrite phase,access phase,content phase),需要将错误日志级别调高,调试时可以设置成Debug。

  • 解压Nginx、NDK和Lua-Nginx-Module源码包

  • 安装依赖包

  • 编译安装Nginx

  • 创建软连接

  • 如果不创建会出现类似以下错误

测试是否支持LUA

  • 修改nginx.conf文件,增加如下配置

  • 配置完成后,类似如下这样

  • 检查配置

  • 启动Nginx

用浏览器访问http://IP/hello,页面输出hello,lua表示已正确支持LUA。

创建启动脚本

使用命令行直接运行Nginx较为麻烦,因此使用脚本来控制Nginx的启动、关闭、重载更加合理一些。

  • 适用于CentOS 6/CentOS 5

Nginx Wiki网站已经有这个脚本(CentOS),拿来稍做修改即可使用。

增加执行权限

使用下面的指令来控制Nginx

  • 适用于Centos 7

由于Centos 7采用了Systemd管理服务进程,故管理的方法与Centos 6之前不太一样。

注意下面参数的路径,根据实际情况修改。

修改权限

使用下面的指令来控制Nginx

参考文档

http://www.google.com

http://my.oschina.net/liucao/blog/470344


如果您觉得本站对你有帮助,那么可以支付宝扫码捐助以帮助本站更好地发展,在此谢过。
喜欢 (0)
[资助本站您就扫码 谢谢]
分享 (0)

您必须 登录 才能发表评论!