Nginx怎么安装配置Lua支持
发布时间 - 2023-06-02 00:00:00 点击率:次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.gz wget https://github.com/simpl/ngx_devel_kit/archive/v0.2.19.tar.gz wget 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 中添加一个localtion
location /hello {
default_type 'text/plain';
content_by_lua 'ngx.say("hello, lua")';
}
#lua文件方式
#在server 中添加一个localtion
location /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 -> /us
r/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 reload6. 测试安装Lua成功
Nginx中配置lua脚本,访问url总是提示404
然后进入nginx的error.log中发现了以下错误日志
2025/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
# 不支持
# 相对于
# 重启
# 则会
# 暂时不
# 安装目录
# 发现了
# 情况下
# 加载
# 这一步
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
网站图片在线制作软件,怎么在图片上做链接?
网站制作大概多少钱一个,做一个平台网站大概多少钱?
如何在橙子建站上传落地页?操作指南详解
如何在 React 中条件性地遍历数组并渲染元素
javascript日期怎么处理_如何格式化输出
Android Socket接口实现即时通讯实例代码
Win11怎样安装网易有道词典_Win11安装词典教程【步骤】
Laravel怎么使用Blade模板引擎_Laravel模板继承与Component组件复用【手册】
EditPlus中的正则表达式 实战(4)
jimdo怎样用html5做选项卡_jimdo选项卡html5实现与切换效果【指南】
如何在 Pandas 中基于一列条件计算另一列的分组均值
公司网站制作价格怎么算,公司办个官网需要多少钱?
详解jQuery中的事件
Laravel如何实现全文搜索功能?(Scout和Algolia示例)
如何利用DOS批处理实现定时关机操作详解
,南京靠谱的征婚网站?
如何注册花生壳免费域名并搭建个人网站?
如何在IIS7上新建站点并设置安全权限?
Laravel如何使用Contracts(契约)进行编程_Laravel契约接口与依赖反转
小米17系列还有一款新机?主打6.9英寸大直屏和旗舰级影像
Java解压缩zip - 解压缩多个文件或文件夹实例
Python高阶函数应用_函数作为参数说明【指导】
Laravel如何使用Gate和Policy进行授权?(权限控制)
*服务器网站为何频现安全漏洞?
个人网站制作流程图片大全,个人网站如何注销?
详解CentOS6.5 安装 MySQL5.1.71的方法
中山网站制作网页,中山新生登记系统登记流程?
专业商城网站制作公司有哪些,pi商城官网是哪个?
Laravel如何实现用户角色和权限系统_Laravel角色权限管理机制
HTML透明颜色代码怎么让图片透明_给img元素加透明色的技巧【方法】
Laravel怎么实现API接口鉴权_Laravel Sanctum令牌生成与请求验证【教程】
Laravel怎么使用artisan命令缓存配置和视图
Laravel怎么实现支付功能_Laravel集成支付宝微信支付
Laravel中Service Container是做什么的_Laravel服务容器与依赖注入核心概念解析
Java遍历集合的三种方式
Laravel如何理解并使用服务容器(Service Container)_Laravel依赖注入与容器绑定说明
Win11怎么查看显卡温度 Win11任务管理器查看GPU温度【技巧】
浅谈javascript alert和confirm的美化
合肥制作网站的公司有哪些,合肥聚美网络科技有限公司介绍?
如何在阿里云虚拟机上搭建网站?步骤解析与避坑指南
如何在建站之星绑定自定义域名?
如何在IIS中新建站点并配置端口与IP地址?
Laravel如何自定义错误页面(404, 500)?(代码示例)
如何获取PHP WAP自助建站系统源码?
消息称 OpenAI 正研发的神秘硬件设备或为智能笔,富士康代工
Laravel如何连接多个数据库_Laravel多数据库连接配置与切换教程
如何用5美元大硬盘VPS安全高效搭建个人网站?
Linux系统运维自动化项目教程_Ansible批量管理实战
php 三元运算符实例详细介绍
Laravel Eloquent访问器与修改器是什么_Laravel Accessors & Mutators数据处理技巧


r/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