大佬好,我用OR学习部署orangeAPI网关碰见点问题。
我搭建的实验环境是CentOS 7.6.1810,听你的在官网用yum安装的最新版OR没用编译安装(编译安装之前问题更多,,)然后nginx -v resty -v 都可以查看到信息,nginx也起来了,浏览网页也能看到OpenResty
启动orange的时候最后一步提示:
[INFO] ORANGE_CONF=/usr/local/orange/conf/orange.conf nginx -p /usr/local/orange -c /usr/local/orange/conf/nginx.conf
nginx: [error] init_by_lua error: init_by_lua:2: module 'orange.orange' not found:
1:我的lua_package_path "$prefix/usr/local/lor/?.lua;;$prefix/usr/local/orange/?.lua;;"; 是这么配置的,我看orange需要lor的支持,这个路径是只需要配置lor的lua路径,还是要把orange lua的路径也写上,就是说以后用的lua不止一个,是一起写在这么。
2:我看他意思是init_by_lua找不到orange.orange,我的是这样的
init_by_lua_block {
local orange = require("orange.orange")
local env_orange_conf = os.getenv("ORANGE_CONF")
print(string.char(27) .. "[34m" .. "[INFO]" .. string.char(27).. "[0m", [[the env[ORANGE_CONF] is ]], env_orange_conf)
-- Here, you can also use the absolute path, eg: local confige_file = "/home/openresty/orange/conf/orange.conf"
local config_file = env_orange_conf or ngx.config.prefix().. "/conf/orange.conf"
local config, store = orange.init({
config = config_file
})
我看你视频里说nginx.conf尽量少配置,我基本没动只改了lua_package_path ,但是orange默认的init_by_lua_block {
local orange = require("orange.orange") 这里面不是一个文件,是orange.orange,他有lua的文件在orange的文件夹下还有个orange文件夹 这里面才有Lua文件 应该是启动文件吧,起不来跟这个 . 有关么。
万分感谢
展开
作者回复: orange 我不太清楚,建议最好到 orange 的 issue 里面提问。