您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

Nginx怎么安装配置Lua支持

2024/3/19 8:47:36发布24次查看
nginx安装配置lua支持默认情况下nginx不支持lua模块,需要安装luajit解释器,并且重新编译nginx,或者可使用国人开发的openrestry
需要的模块:luajit,ngx_devel和lua-nginx-module
1. 环境准备[root@nginx_lua ~]# yum install -y gcc gcc-c++ make pcre-devel zlib-devel openssl-devel
2. 下载最新的luajit和ngx_devel_kit以及lua-nginx-module解压
[root@nginx_lua ~]# mkdir -p /soft/src [root@nginx_lua ~]# cd /soft/src/wget https://luajit.org/download/luajit-2.0.4.tar.gzwget https://github.com/simpl/ngx_devel_kit/archive/v0.2.19.tar.gzwget https://github.com/openresty/lua-nginx-module/archive/v0.10.13.tar.gz
3. 解压ngx_devel_kit以及lua-nginx-module
[root@nginx_lua src]# tar xf v0.2.19.tar.gz[root@nginx_lua src]# tar xf v0.10.13.tar.gz
4. 编译安装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
5. 编译安装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.10.13/[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 中添加一个localtionlocation /hello { default_type 'text/plain'; content_by_lua 'ngx.say("hello, lua")'; }#lua文件方式#在server 中添加一个localtionlocation /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.2lrwxrwxrwx 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 -tnginx: the configuration file /soft/nginx/conf/nginx.conf syntax is oknginx: configuration file /soft/nginx/conf/nginx.conf test is successful[root@nginx_lua conf]# nginx -s reload
6. 测试安装lua成功
nginx中配置lua脚本,访问url总是提示404然后进入nginx的error.log中发现了以下错误日志
2022/06/09 18:31:46 [error] 24475#24475: *5 failed to load external lua file "/root/lua/68/update_content.lua": cannot open /root/lua/68/update_content.lua: permission denied, client: 112.4.254.104, server: localhost, request: "get /api/update_content http/1.1", host: "your host"
然后在nginx.conf中配置
user root root;
再重启nginx即可
以上就是nginx怎么安装配置lua支持的详细内容。
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product