首页 > 系统相关 >nginx安装Lua

nginx安装Lua

时间:2024-09-09 17:46:39浏览次数:11  
标签:http tar lua -- module nginx Lua 安装

nginx安装lua支持步骤

1、下载相关安装包(luajit、ngx_devel_kit、lua-nginx-module)
wget https://github.com/LuaJIT/LuaJIT/archive/v2.0.4.tar.gz
wget https://github.com/openresty/luajit2/archive/refs/tags/v2.1-20240626.tar.gz
wget https://github.com/simpl/ngx_devel_kit/archive/v0.3.0.tar.gz
wget --no-check-certificate https://github.com/openresty/lua-resty-core/archive/refs/tags/v0.1.27.tar.gz
wget --no-check-certificate https://github.com/openresty/lua-resty-lrucache/archive/refs/tags/v0.12.tar.gz
wget https://github.com/openresty/lua-nginx-module/archive/v0.10.25.tar.gz

2、解压(路径:/usr/local/lua)
tar -xzvf v2.1-20240626.tar.gz
tar -xzvf v0.3.0.tar.gz
tar -xzvf v0.1.27.tar.gz
tar -xzvf v0.12.tar.gz
tar -xzvf v0.10.9rc7.tar.gz

3、安装
cd luajit2-2.1-20240626
make install PREFIX=/usr/local/lua/LuaJIT
显示如下,则是安装成功了

cd ../lua-resty-core-0.1.27
make install PREFIX=/usr/local/lua/lua_core

cd ../lua-resty-lrucache-0.12
make install PREFIX=/usr/local/lua/lua_core

4、添加环境变量
vi /etc/profile
将命令添加到文件里面
export LUAJIT_LIB=/usr/local/lua/LuaJIT/lib
export LUAJIT_INC=/usr/local/lua/LuaJIT/include/luajit-2.0
执行环境变量
source /etc/profile
查看是否生效
export
如下图是已经配置完成并且生效的

5、查看nginx以前编辑的配置信息
nginx -V
原始配置信息如下

6、覆盖安装nginx(此处建议先把以前的nginx备份一下以防意外哦)
下载对应版本的nginx
wget -c https://nginx.org/download/nginx-1.26.0.tar.gz
解压
tar -xzvf nginx-1.26.0.tar.gz
进入nginx文件夹
cd nginx-1.26.0
指定拓展安装位置
./configure --prefix=/usr/local/nginx --sbin-path=/usr/sbin/nginx --modules-path=/usr/lib64/nginx/modules --conf-path=/usr/local/nginx/conf/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --pid-path=/var/run/nginx.pid --lock-path=/var/run/nginx.lock --http-client-body-temp-path=/var/cache/nginx/client_temp --http-proxy-temp-path=/var/cache/nginx/proxy_temp --http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp --http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp --http-scgi-temp-path=/var/cache/nginx/scgi_temp --user=nginx --group=nginx --with-compat --with-file-aio --with-threads --with-http_addition_module --with-http_auth_request_module --with-http_dav_module --with-http_flv_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_mp4_module --with-http_random_index_module --with-http_realip_module --with-http_secure_link_module --with-http_slice_module --with-http_ssl_module --with-http_stub_status_module --with-http_sub_module --with-http_v2_module --with-mail --with-mail_ssl_module --with-stream --with-stream_realip_module --with-stream_ssl_module --with-stream_ssl_preread_module --with-cc-opt='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -fPIC' --with-ld-opt='-Wl,-z,relro -Wl,-z,now -pie' --with-pcre=/usr/local/lua/pcre-8.33 --add-module=/usr/local/lua/ngx_devel_kit-0.3.0 --add-module=/usr/local/lua/lua-nginx-module-0.10.25
编译
make
成功如下:

安装
make && make install
成功如下:

7、验证Lua
在server模块里面,随便找个地方添加下面的代码
location /lua { default_type 'text/plain'; content_by_lua 'ngx.say("hello, lua")'; }
启动nginx
/usr/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
测试
curl 172.16.123.79/lua

8、报错及处理如下:
8.1 nginx编译报错

下载pcre
wget http://downloads.sourceforge.net/project/pcre/pcre/8.33/pcre-8.33.tar.gz
解压
tar -xzvf pcre-8.33.tar.gz
文件夹赋权
chmod -R 777 pcre-8.33
进入文件夹
cd pcre-8.33
初始化配置
./configure
编译
make
安装
make install
进入测试
./pcretest

8.2 nginx编译报错

编译nginx前运行
export CFLAGS="-fPIC"
export CPPFLAGS="$CFLAGS"

8.3 nginx启动报错
报错如下:

查找文件
find / -name libluajit-5.1.so.2
将文件复制到/usr/local/lib/
cp /查出来的文件路径/libluajit-5.1.so.2 /usr/local/lib/
echo "/usr/local/lib" >>/etc/ld.so.conf
/sbin/ldconfig

8.4 nginx启动报错

复制
cp -a /usr/local/lua/lua_core/lib/lua/resty/* /usr/local/lua/LuaJIT/share/luajit-2.1/resty

9、core和lua版本对应
wget https://github.com/openresty/lua-resty-core/archive/refs/tags/v0.1.29.tar.gz
wget https://github.com/openresty/lua-resty-lrucache/archive/refs/tags/v0.14.tar.gz
只能用于0.10.27版本
wget https://github.com/openresty/lua-resty-core/archive/refs/tags/v0.1.22.tar.gz
wget https://github.com/openresty/lua-resty-lrucache/archive/refs/tags/v0.11.tar.gz
只能用于0.10.19 或 0.10.20版本

标签:http,tar,lua,--,module,nginx,Lua,安装
From: https://www.cnblogs.com/ayad/p/18400721

相关文章

  • windows和Linux上安装nvm及相关配置
    Windows安装:1、详情参考:https://blog.csdn.net/goods_yao/article/details/137854626本文详细介绍了在Windows系统中使用nvm(NodeVersionManager)管理Node.js版本的过程,包括卸载Node.js、nvm的安装与配置、修改npm镜像源、环境变量设置及常见问题解决。 Linux(centos7.6)安装:0、机......
  • k8s集群部署:安装 kubeadm
    1、确保已经将SELinux设置为permissive模式:这些说明适用于Kubernetes1.31。#SetSELinuxinpermissivemode(effectivelydisablingit)sudosetenforce0sudosed-i's/^SELINUX=enforcing$/SELINUX=permissive/'/etc/selinux/config2、下载并安装相关软件......
  • 4、Linux的安装
    VMware安装KaliLinux详细教程参考链接:CSDN教程什么是虚拟机?虚拟机是一种软件模拟的计算机环境,允许在单一物理设备上运行多个操作系统。如何在一台电脑上安装多个操作系统?通过使用虚拟化技术,可以在一台电脑上安装多个操作系统。这通常借助虚拟机软件实现。虚拟机与物理机......
  • centos7.9安装mysql8.0.39
    1.添加MySQLYum仓库首先,需要下载并安装MySQLYum仓库RPM包:sudorpm-Uvhhttps://repo.mysql.com/mysql80-community-release-el7-3.noarch.rpm2.更新Yum缓存安装完Yum仓库后,更新Yum缓存:sudoyumcleanallsudoyummakecache3.安装MySQL 现在可以......
  • 飞牛等nas下部署dweebUI,扩展安装119个精选docker应用
    简介dweebui是一个类似之前介绍的portainer-ce和dockge的docker管理器,但是他有个优点是和1panel一样自带了很多便捷安装的docker应用,缺点是英文界面,毕竟是国外软件,但是对于飞牛nas做个补充来说还是不错的官网:https://www.dweebui.com/预览效果:安装搭建本次部署还是一......
  • 安装部署tidb中的安装tidb-4000组件失败相关问题(环境为统信20操作系统
    1.安装时发现安装时间很久,停止之后报错,查看日志发现报错如下[2024/09/0914:08:52.509+08:00][FATAL][terror.go:309]["unexpectederror"][error="othererror:[components/tidb_query_datatype/src/expr/ctx.rs:89]:evaluationfailed:unknownorincorrecttimezon......
  • SWAP作物生长模型安装教程、数据制备、敏感性分析、气候变化影响、R模型敏感性分析与
    查看原文>>>全流程SWAP农业模型数据制备、敏感性分析及气候变化影响实践技术应用SWAP模型是由荷兰瓦赫宁根大学开发的先进农作物模型,它综合考虑了土壤-水分-大气以及植被间的相互作用;是一种描述作物生长过程的一种机理性作物生长模型。它不但运用Richard方程,使其能够精确的模......
  • Adobe lightroom-LR-高速下载绿色安装最佳免费办公软件下载指南
    Adobe lightroom-LR-高速下载绿色安装最佳免费办公软件下载指南AdobeLightroom(LR)高速下载绿色安装最佳免费办公软件下载指南引言AdobeLightroom(简称LR)是一款广受欢迎的图像管理和编辑软件,广泛应用于摄影、设计和其他视觉艺术领域。然而,正版软件的高昂价格和复杂的安装过程常......
  • Docker 知识梳理及其安装使用EE
    目录Docker介绍为什么Docker很受欢迎?Docker的关键组件Docker架构以及Docker的工作原理?DockerDaemonDockerClientDockerHostDockerRegistryDockerObjectsDockerImagesDockerContainersDockerStorageDocker网络Docker安装方式准备环境在线YU......
  • 程序安装:不会安装该公布程序,因为它可能不安全,请与管理员联系解决办法
    程序安装:不会安装该公布程序,因为它可能不安全,请与管理员联系解决办法删除注册表中Products下的项。该方法确实能解决问题,但为防止误删其他软件注册信息,将此法作如下改进,发现依然好使:将注册表中HKEY_CURRENT_USER\Software\Microsoft\Installer\Products下的所有子项全......