看起来安装过程中遇到了一个问题:redis Lua模块无法被找到。虽然脚本尝试通过luarocks安装了redis-lua包,但安装可能失败了,或者安装到了LuaJIT无法找到的路径。 让我们修复这个问题: 先确认Redis模块的正确安装:

root@OuluVM214343428:/opt/enhance_rules# bash setup-enhanced-rules.sh

APISIX 增强版规则引擎安装脚本

[INFO] 检查依赖...
[SUCCESS] 依赖检查完成
[INFO] 安装Lua依赖...
[SUCCESS] Lua依赖安装完成
[INFO] 设置文件权限...
[SUCCESS] 权限设置完成
[INFO] 配置APISIX...
[INFO] 原配置已备份为 /usr/local/apisix/conf/config.yaml.bak-20250607022355
[WARNING] 检测到已存在增强版规则引擎配置,跳过配置修改
[INFO] 测试Redis连接...
Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.
[SUCCESS] Redis连接成功
[INFO] 重新加载APISIX配置...
/usr/local/openresty//luajit/bin/luajit /usr/local/apisix/apisix/cli/apisix.lua reload
Warning! Current maximum number of open file descriptors [1024] is not greater than 1024, please increase user limits by execute 'ulimit -n ' , otherwise the performance is low.
[SUCCESS] APISIX配置已重新加载
[INFO] 导入示例规则...
luajit: /opt/enhance_rules/manage-enhanced-rules.lua:6: module 'redis' not found:
no field package.preload['redis']
no file './redis.lua'
no file '/usr/share/luajit-2.1.0-beta3/redis.lua'
no file '/usr/local/share/lua/5.1/redis.lua'
no file '/usr/local/share/lua/5.1/redis/init.lua'
no file '/usr/share/lua/5.1/redis.lua'
no file '/usr/share/lua/5.1/redis/init.lua'
no file './redis.so'
no file '/usr/local/lib/lua/5.1/redis.so'
no file '/usr/lib/x86_64-linux-gnu/lua/5.1/redis.so'
no file '/usr/local/lib/lua/5.1/loadall.so'
stack traceback:
[C]: in function 'require'
/opt/enhance_rules/manage-enhanced-rules.lua:6: in main chunk
[C]: at 0x55eeb81812e0
root@OuluVM214343428:/opt/enhance_rules#

解决办法

luarocks list | grep redis

如果没有看到redis-lua,需要手动安装

luarocks install redis-lua

image

bash setup-enhanced-rules.sh

APISIX 增强版规则引擎安装脚本

[INFO] 检查依赖...
[SUCCESS] 依赖检查完成
[INFO] 安装Lua依赖...
[SUCCESS] Lua依赖安装完成
[INFO] 设置文件权限...
[SUCCESS] 权限设置完成
[INFO] 配置APISIX...
[INFO] 原配置已备份为 /usr/local/apisix/conf/config.yaml.bak-20250607023213
[WARNING] 检测到已存在增强版规则引擎配置,跳过配置修改
[INFO] 测试Redis连接...
Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.
[SUCCESS] Redis连接成功
[INFO] 重新加载APISIX配置...
/usr/local/openresty//luajit/bin/luajit /usr/local/apisix/apisix/cli/apisix.lua reload
Warning! Current maximum number of open file descriptors [1024] is not greater than 1024, please increase user limits by execute 'ulimit -n ' , otherwise the performance is low.
[SUCCESS] APISIX配置已重新加载
[INFO] 导入示例规则...
Usage: manage-enhanced-rules.lua [-h] [--redis-host <redis_host>]
[--redis-port <redis_port>] [--redis-db <redis_db>]
[--redis-password <redis_password>]
[--redis-password-file <redis_password_file>] []
[] ...

Error: a command is required
root@OuluVM214343428:/opt/enhance_rules#

posted @ 2025-06-07 10:33  昆仑葫芦  阅读(3)  评论(0)    收藏  举报