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
网友评论