lua编译器_配置测试Nginx支持Lua环境

默认情况下Nginx不支持Lua模块,需要安装LuaJIT解释器,并且重新编译Nginx,或者可使用国人开发的openrestry

需要的模块:LuaJIT,Ngx_devel和lua-nginx-module

Luajit官网:https://luajit.org

环境准备

[root@nginx_lua ~]# yum install -y gcc gcc-c++ make pcre-devel zlib-devel openssl-devel

下载最新的luajit和ngx_devel_kit以及lua-nginx-module解压

[root@nginx_lua ~]# mkdir -p /soft/src

[root@nginx_lua ~]# cd /soft/src/

[root@nginx_lua src]# wget https://luajit.org/download/LuaJIT-2.0.4.tar.gz

[root@nginx_lua src]# wget https://github.com/simpl/ngx_devel_kit/archive/v0.2.19.tar.gz

[root@nginx_lua src]# wget https://github.com/openresty/lua-nginx-module/archive/v0.10.13.tar.gz

解压ngx_devel_kit以及lua-nginx-module

[root@nginx_lua src]# tar xf v0.2.19.tar.gz

[root@nginx_lua src]# tar xf v0.9.16.tar.gz

编译安装LuaJIT,即Lua及时编译器

[root@nginx_lua src]# tar xf LuaJIT-2.0.4.tar.gz

[root@nginx_lua src]# cd LuaJIT-2.0.4/

[root@nginx_lua LuaJIT-2.0.4]# make && make install

编译安装Nginx

[root@nginx_lua src]# wget http://nginx.org/download/nginx-1.14.2.tar.gz

[root@nginx_lua src]# tar xf nginx-1.14.2.tar.gz

[root@nginx_lua src]# cd nginx-1.14.2

[root@nginx_lua nginx-1.14.2]# ./configure --prefix=/soft/nginx --with-http_ssl_module --with-http_stub_status_module --with-http_dav_module --with-file-aio --with-http_dav_module --add-module=../ngx_devel_kit-0.2.19/ --add-module=../lua-nginx-module-0.9.16/

[root@nginx_lua nginx-1.14.2]# make && make install

[root@nginx_lua nginx-1.14.2]# ln -s /soft/nginx/sbin/nginx /usr/bin/nginx

[root@nginx_lua conf]# vim nginx.conf #简单配置写nginx测试Nginx是否已经支持Lua(lua指令方式)

# 以下三种方法任选其一

...

server {

location /test_lua {

default_type text/html;

content_by_lua_block {

ngx.say("Hello Lua!")

}

}

...

}

#lua指令方式

#在server 中添加一个localtion

location /test_lua {

default_type 'text/plain';

content_by_lua 'ngx.say("hello, lua")';

}

#lua文件方式

#在server 中添加一个localtion

location /test_lua {

default_type 'text/html';

content_by_lua_file conf/lua/test.lua; #相对于nginx安装目录

}

#test.lua文件内容

ngx.say("hello world");

//建立软连接,如果不建立软链接,则会出现share object错误

[root@nginx_lua conf]# nginx -t

/soft/nginx/sbin/nginx: error while loading shared libraries: libluajit-5.1.so.2: cannot open shared object file: No such file or directory

[root@nginx_lua conf]#

[root@nginx_lua lib64]# ln -s /usr/local/lib/libluajit-5.1.so.2 /lib64/libluajit-5.1.so.2

[root@nginx_lua lib64]# ll libluajit-5.1.so.2

lrwxrwxrwx 1 root root 33 Dec 21 20:52 libluajit-5.1.so.2 -> /usr/local/lib/libluajit-5.1.so.2

[root@nginx_lua lib64]#

#//加载lua库,加入到ld.so.conf文件(暂时不执行这一步)

#[root@nginx_lua nginx-1.14.2]# echo "/usr/local/LuaJIT/lib" >> /etc/ld.so.conf

[root@nginx_lua conf]# nginx -t

nginx: the configuration file /soft/nginx/conf/nginx.conf syntax is ok

nginx: configuration file /soft/nginx/conf/nginx.conf test is successful

[root@nginx_lua conf]# nginx -s reload

测试安装成功

590ff8fc6b464c6fa0b841b3b1990cc2.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值