动态扩展Nginx支持Lua功能

  

<强>

<强>

, Lua是一个简洁,轻量、可扩展的脚本语言,也是号称性能最高的脚本语言,用在很多需要性能的地方,比如:游戏脚本,nginx, wireshark的脚本,当你把他的源码下下来编译后,你会发现解释器居然不到200 k,非常变。态很多应用程序使用Lua作为自己的嵌入式脚本语言,以此来实现可配置性,可扩展性。


<强>

,


<强>

<强>

,这里假定已经安装好了nginx(安装nginx比较简单,网上案例很多)、下面开始动态编译扩展nginx使其支持Lua脚本。


<李>

下载并安装luajit (Lua即时编译器)

#,wget  http://luajit.org/download/LuaJIT-2.0.2.tar.gz    #,tar  zxvf  LuaJIT-2.0.2.tar.gz   #,cd  LuaJIT-2.0.2   #,make    #,make 安装


<李>

下载lua-nginx-module模块和ngx_devel_kit (nginx开发工具并解压

# wget  https://codeload.github.com/openresty/lua-nginx-module/zip/v0.10.1  -o  lua-nginx-module-0.10.1.zip   # unzip  lua-nginx-module-0.10.1.zip      # wget  -o  ngx_devel_kit-0.2.18.tar.gz  https://github.com/simpl/ngx_devel_kit/archive/v0.2.18.tar.gz    # tar  zxvf  ngx_devel_kit-0.2.18.tar。广州


<李>

nginx - v可以查看nginx的版本,以及之前编译的项目。

#,/usr/地方/应用程序/nginx/sbin/nginx  - v      nginx 版本:nginx/1.6.1   built  by  gcc  4.4.7  20120313, (Red  Hat  4.4.7-17), (GCC),   TLS  SNI  support 启用   时间参数:configure ——prefix=/usr/地方/应用程序/nginx,——用户=nginx ——组=nginx ——with-http_stub_status_module ——with-http_gzip_static_module ——with-http_flv_module ——with-http_mp4_module ——with-pcre=/home/workspace/auto_deploy/软件/nginx pcre - 8.30 -, - openssl=/home/workspace/auto_deploy/软件/nginx/openssl-1.0.1i ——添加模块=. ./gnosek-nginx-upstream-fair-a18b409/,——添加模块=. ./ngx_cache_purge - 2.1 -, - with-http_ssl_module


<李>

要想nginx支持lua中,有两种方法:

<李>

#,export  LUAJIT_LIB=/usr/地方/lib    #,export  LUAJIT_INC=/usr/地方/include/luajit - 2.0,   #,。/configure ——prefix=/usr/地方/应用程序/nginx,——用户=nginx ——组=nginx ——with-http_stub_status_module ——with-http_gzip_static_module ——with-http_flv_module ——with-http_mp4_module ——with-pcre=/home/workspace/auto_deploy/软件/nginx/pcre - 8.30 -, - openssl=/home/workspace/auto_deploy/软件/nginx/openssl-1.0.1i ——添加模块=. ./gnosek-nginx-upstream-fair-a18b409/,——添加模块=. ./ngx_cache_purge - 2.1 -, - with-http_ssl_module ——添加模块=. ./lua-nginx-module-0.10.1/,添加模块=. ./ngx_devel_kit-0.2.18/#,make  -j  4,   #,make  install    #,echo “/usr/地方/lib,祝辞祝辞,/etc/ld.so.conf.d/lua.conf    #,ldconfig


<李> <李>


#,export  LUA_LIB=/usr/lib64    #,export  LUA_INC=/usr/include    #,。/configure ——prefix=/usr/地方/应用程序/nginx,——用户=nginx ——组=nginx ——with-http_stub_status_module ——with-http_gzip_static_module ——with-http_flv_module ——with-http_mp4_module ——with-pcre=/home/workspace/auto_deploy/软件/nginx/pcre - 8.30 -, - openssl=/home/workspace/auto_deploy/软件/nginx/openssl-1.0.1i ——添加模块=. ./gnosek-nginx-upstream-fair-a18b409/,——添加模块=. ./ngx_cache_purge - 2.1 -, - with-http_ssl_module ——添加模块=. ./lua-nginx-module-0.10.1/,添加模块=. ./ngx_devel_kit-0.2.18/#,make  -j  4,   #,make 安装


,,,,


#,/usr/地方/rktsapps/nginx/sbin/nginx  - v      nginx 版本:nginx/1.6.1   built  by  gcc  4.4.7  20120313, (Red  Hat  4.4.7-17), (GCC),   TLS  SNI  support 启用   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null

动态扩展Nginx支持Lua功能