Open jim3ma opened 7 years ago
多谢反馈。
我看到你是自己编译了 nginx 以及相关的模块,设置了 NGX_LUA_VERSION=0.10.7 ,这个版本的 lua-nginx-module 模块应该是可以支持 balance 的,就是我不确定里面是否包含了 balance 的代码,balance 的代码 在这里:
https://github.com/openresty/lua-resty-core
安装这个库(或者吧 balance 的代码补上)应该能解决问题
我有空了会查一下这个问题,就是会比较慢T_T,你也可以自己动手哈
@alexazhou 的确是lua-resty-core
没有安装的问题,将lua-resty-core/lib/
下的所有文件复制到/usr/local/lib/lua/5.1/
目录下就可以了,当然可以是任意lua能识别的目录就可以了,如下的目录都是可以的
/opt/verynginx/verynginx/lua_script/
/opt/verynginx/verynginx/lua_script/module/
/usr/local/share/luajit-2.1.0-beta2/
/usr/local/share/lua/5.1/
...
看来wiki和readme需要完善一下了哦。
你说的对,是该完善啦。
发自我的 iPhone
在 2016年12月20日,下午3:22,Jim Ma notifications@github.com 写道:
@alexazhou 的确是lua-resty-core没有安装的问题,将lua-resty-core/lib/下的所有文件复制到/usr/local/lib/lua/5.1/目录下就可以了,当然可以是任意lua能识别的目录就可以了,如下的目录都是可以的
/opt/verynginx/verynginx/lua_script/ /opt/verynginx/verynginx/lua_script/module/ ... 看来wiki和readme需要完善一下了哦。
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or mute the thread.
@alexazhou 的确是
lua-resty-core
没有安装的问题,将lua-resty-core/lib/
下的所有文件复制到/usr/local/lib/lua/5.1/
目录下就可以了,当然可以是任意lua能识别的目录就可以了,如下的目录都是可以的/opt/verynginx/verynginx/lua_script/ /opt/verynginx/verynginx/lua_script/module/ /usr/local/share/luajit-2.1.0-beta2/ /usr/local/share/lua/5.1/ ...
看来wiki和readme需要完善一下了哦。
我这边尝试把lua-resty-core/lib/
下的文件复制到/opt/verynginx/verynginx/lua_script/
下,会出现如下报错:
[error] 17#17: *282 failed to run balancer_by_lua*: /opt/verynginx/lua_script/on_banlance.lua:9: loop or previous error loading module 'ngx.balancer'
同样的问题 #74
failed to run balancer_by_lua*: /opt/verynginx/verynginx/lua_script/on_banlance.lua:9: module 'ngx.balancer' not found
ngx.balancer 这个在lua-nginx-module里面是有的,在这里 我这里提供一下完整的Dockerfile和另外两个配置文件,可以保证重现问题。 Dockerfilenginx.conf
nginx.vh.default.conf
运行如下命令:
然后在浏览器里操作,添加proxy_pass,即可重现问题了,nginx的log在/var/log/nginx/目录里。