nginx使用lua脚本的方法,nginxlua脚本


nginx中使用lua脚本的方法,本文介绍通过第三方模块lua-nginx-module实现lua脚本在nginx的调用,并附一个配置例子

Lua是一种跟JavaScript很像的语言,Ngix_Lua同样使用异步单线程,语法甚至比JS更加简单,之前的评测指出,Ngix_lua的性能几乎是Node.JS的一倍。

Nginx 特点

1.流行的高性能HTTP服务器
2.事件驱动(异步)架构
3.少量且可测内存占用
4.声明性配置语言
5.基于C的可扩展模块

通过lua-nginx-module即可在nginx上启动lua脚本。

一个例子:

location / {
    content_by_lua '
        local res = ngx.location.capture("/sub")
        if res.status >= 500 then 
            ngx.exit(res.status) 
        end
        ngx.status = res.status
        ngx.say(res.body)
    ';
}
location /sub {
    echo "Hello, Sub-Request!";
}
lua-nginx-module在Github上的项目地址 https://github.com/openresty/lua-nginx-module

openresty,nginxconf里调用lua脚本,lua脚本加载动态库总是报nil是为何?

你安装好LUA后要把 库路径加到 系统变量path中
一般是 \Lua\5.1\clibs

在 Lua官方网站www.lua.org 下载一个
Lua Rocks 提供一个简单的方案升级和更新Lua扩展库(类似于linux中yum功能)
 

nginx调用lua脚本,而lua脚本调用业务C程序里的函数,大虾贴个可以运行的样例出来,解~~

不知道你说的 nginx 是啥
不过我可以帮你写个 lua 调用 c函数的 事例
 

相关内容