我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Nginx如何安装配置Lua支持

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Nginx如何安装配置Lua支持

Nginx安装配置Lua支持

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

需要的模块:LuaJIT,Ngx_devellua-nginx-module

Luajit官网:https://luajit.org

1. 环境准备

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

2. 下载最新的luajitngx_devel_kit以及lua-nginx-module解压

[root@nginx_lua ~]# mkdir -p /soft/class="lazy" data-src 
[root@nginx_lua ~]# cd /soft/class="lazy" data-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 class="lazy" data-src]# tar xf v0.2.19.tar.gz
[root@nginx_lua class="lazy" data-src]# tar xf v0.10.13.tar.gz

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

[root@nginx_lua class="lazy" data-src]# tar xf LuaJIT-2.0.4.tar.gz
[root@nginx_lua class="lazy" data-src]# cd LuaJIT-2.0.4/
[root@nginx_lua LuaJIT-2.0.4]# make && make install

5. 编译安装Nginx

[root@nginx_lua class="lazy" data-src]# wget http://nginx.org/download/nginx-1.14.2.tar.gz
[root@nginx_lua class="lazy" data-src]# tar xf nginx-1.14.2.tar.gz
[root@nginx_lua class="lazy" data-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 -> /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

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即可

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Nginx如何安装配置Lua支持

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Nginx如何安装配置Lua支持

这篇文章主要介绍了Nginx如何安装配置Lua支持方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
2023-05-18

Nginx如何安装配置

这篇文章主要介绍“Nginx如何安装配置”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Nginx如何安装配置”文章能帮助大家解决问题。简介Nginx 的安装:# CentOSyum install
2023-07-02

nginx mysql php如何安装配置

nginx mysql php安装配置的方法:1、下载Nginx并安装启动nginx;2、解压“php-7.2.25.tar.gz”并安装php所需的依赖;3、更改nginx的配置文件;4、安装mysql并启动服务即可。
2017-05-13

Linux下如何安装和配置Nginx

这篇文章主要为大家展示了“Linux下如何安装和配置Nginx”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Linux下如何安装和配置Nginx”这篇文章吧。Nginx(“engine x”)是
2023-06-28

Nginx在Docker中的HTTP/2支持配置(如何在Docker中为Nginx启用HTTP/2支持?)

通过在Docker中配置Nginx,可启用HTTP/2支持,从而提升网站性能和降低延迟。具体步骤包括:创建并编辑配置文件nginx.conf,指定监听端口443及SSL证书。创建Dockerfile,从Nginx镜像构建并复制nginx.conf。构建Docker镜像并运行容器。使用curl命令测试HTTP/2支持。
Nginx在Docker中的HTTP/2支持配置(如何在Docker中为Nginx启用HTTP/2支持?)
2024-04-02

Linux中如何安装与配置Nginx

这篇文章主要讲解了“Linux中如何安装与配置Nginx”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Linux中如何安装与配置Nginx”吧!简单安装本教程一Centos 6.3为例讲解,
2023-06-27

如何配置CentOS支持reiserFS

这篇文章主要讲解了“如何配置CentOS支持reiserFS”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何配置CentOS支持reiserFS”吧!CentOS默认安装情况下并不能支持r
2023-06-10

如何在 Debian 11 上安装和配置 Nginx

能够安装和配置 Web 服务器是作为 Web 开发人员和软件工程师的一项宝贵技能。让我们来看看如何在 Debian 11 上安装和配置 Nginx Web 服务器。
WebDebian112024-12-01

Nginx安装后常用功能如何配置

这篇文章主要介绍“Nginx安装后常用功能如何配置”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Nginx安装后常用功能如何配置”文章能帮助大家解决问题。1.主配置文件与虚拟主机分离如果虚拟主机很多
2023-06-29

如何安装和配置Nginx Web服务器?

如果您在考虑运行一个网站,更有可能选择Nginx。本文介绍了安装和设置的方法。

Docker化Nginx:多域名管理与SSL支持(在Docker中如何为Nginx配置多域名及SSL支持?)

在Docker中配置Nginx支持多域名和SSL,可创建隔离且安全的Web服务器环境。通过创建Dockerfile、配置NginxVirtualHost和运行容器,您可以设置Nginx处理来自多个域名的请求,并使用SSL保护连接。该指南提供了逐步说明和示例配置,以简化部署过程。通过Docker的隔离和可移植性,您可以轻松管理Nginx实例并增强其安全性。
Docker化Nginx:多域名管理与SSL支持(在Docker中如何为Nginx配置多域名及SSL支持?)
2024-04-02

Ubuntu中如何安装和配置Nginx服务器

要在Ubuntu中安装和配置Nginx服务器,可以按照以下步骤进行:安装Nginx服务器:在终端中运行以下命令来安装Nginx服务器:sudo apt updatesudo apt install nginx启动Nginx服务器:安
Ubuntu中如何安装和配置Nginx服务器
2024-04-08

如何在CentOS中安装和配置Nginx服务器

在CentOS中安装和配置Nginx服务器的步骤如下:更新系统:首先确保系统已更新到最新版本,可以通过以下命令来更新系统:sudo yum update安装Nginx:使用以下命令安装Nginx:sudo yum install nginx
如何在CentOS中安装和配置Nginx服务器
2024-03-12

Apache的HTTP/2支持如何配置

要配置Apache的HTTP/2支持,您需要确保您的Apache服务器版本至少为2.4.17,并且已经安装了mod_http2模块。以下是配置Apache HTTP/2支持的步骤:确保您的Apache服务器版本至少为2.4.17。您可以通过
Apache的HTTP/2支持如何配置
2024-07-05

如何在 Ubuntu 20.04 上设置支持 HTTP/2 的 Nginx

Nginx是一个快速可靠的开源 Web 服务器。它因其低内存占用、高可扩展性、易于配置以及对多种协议的支持而广受欢迎。
HTTP2NginxLinux2024-12-02

编程热搜

目录