美文网首页
nginx的lua模块安装

nginx的lua模块安装

作者: dark68 | 来源:发表于2021-05-01 11:54 被阅读0次

    1 什么是lua?

    Lua 是一种轻量小巧的脚本语言,用标准C语言编写并以源代码形式开放。设计目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能。Lua由标准C编写而成,几乎在所有操作系统和平台上都可以编译,运行。Lua并没有提供强大的库,这是由它的定位决定的。所以Lua不适合作为开发独立应用程序的语言。Lua 有一个同时进行的JIT项目,提供在特定平台上的即时编译功能。

    2 lua的安装

    1.安装lua

    wget http://luajit.org/download/LuaJIT-2.0.5.tar.gz
    tar -zxvf LuaJIT-2.0.5.tar.gz
    cd LuaJIT-2.0.5
    make && make install PREFIX=/usr/local/LuaJIT
    

    2.配置环境变量

    vim /etc/profile
    export LUAJIT_LIB=/usr/local/LuaJIT/lib
    export LUAJIT_INC=/usr/local/LuaJIT/include/luajit-2.0
    

    3.编译nginx
    下载ngx_devel_kit模块:

    wget https://github.com/simpl/ngx_devel_kit/archive/v0.3.0.tar.gz
    

    下载lua-nginx-module模块:

    wget https://github.com/openresty/lua-nginx-module/archive/v0.10.9rc7.tar.gz
    

    nginx编译配置(如何查看配置文件以及添加模块详见consul文章):

    #如跟笔者之前文章操作,需去掉openssl或者更换合适版本的openssl
    #--add-module=/home/lua-nginx-module-0.10.9rc7 --add-module=/home/ngx_devel_kit-0.3.0
    ./configure --sbin-path=/usr/local/nginx/nginx --conf-path=/usr/local/nginx/nginx.conf --pid-path=/usr/local/nginx/nginx.pid --with-http_gzip_static_module --with-http_stub_status_module --with-file-aio --with-http_realip_module --with-http_ssl_module --with-pcre=/home/pcre-8.44 --with-zlib=/home/zlib-1.2.11 --add-module=/home/ngx_cache_purge-2.3 --add-module=/home/lua-nginx-module-0.10.9rc7 --add-module=/home/ngx_devel_kit-0.3.0
    
    make && make install
    

    nginx -V是可能出现以下异常
    ./nginx: error while loading shared libraries: libluajit-5.1.so.2: cannot open shared object file: No such file or directory
    解决:
    echo "/usr/local/LuaJIT/lib" >> /etc/ld.so.conf
    ldconfig

    3 lua脚本的运行

    Lua 提供了交互式编程模式。我们可以在命令行中输入程序并立即查看效果。Lua 交互式编程模式可以通过命令 lua -i 或 lua 来启用:(退出lua ctrl+\)


    lua运行

    我们可以将 Lua 程序代码保持到一个以 lua 结尾的文件,并执行,该模式称为脚本式编程,如我们将如下代码存储在名为 hello.lua 的脚本文件中,使用lua hello.lua运行脚本


    lua脚本运行.png

    相关文章

      网友评论

          本文标题:nginx的lua模块安装

          本文链接:https://www.haomeiwen.com/subject/kgyirltx.html