使用Lua脚本运行HAProxy

时间:2019-02-24 09:57:16

标签: makefile lua ld haproxy

我正在尝试使用USE_LUA=1标志构建HAProxy-1.9以启用lua支持。这是我正在使用的make命令:

sudo make TARGET=linux USE_DL=1 USE_CRYPT_H=1 USE_LUA=1 LUA_LIB=/usr/bin/lua5.3 LUA_INC=/usr/include/lua5.3/ LUA_LIB_NAME=lua53

执行make命令时,出现以下错误:

  LD      haproxy
 /usr/lib64/gcc/x86_64-suse-linux/8/../../../../x86_64-suse-linux/bin/ld: cannot find -llua53
 collect2: error: ld returned 1 exit status
 make: *** [Makefile:976: haproxy] Error 1

从我收集到的信息来看,似乎缺少一个库文件(猜测一个套接字文件),或者我提供了错误的目录。我正在使用OpenSuse Tumbleweed

编辑1

通过将haproxy更改为TARGET=linux,我可以从源头制作TARGET=generic。生成文件停止后,在stdout上未报告任何错误。但是,未安装haproxy.service

我以前使用zypper安装了haproxy。我删除它的唯一原因是使用USE_LUA=1标志重新安装它,因为我不确定是否可以编辑haproxy post编译来更改编译时间配置。

重新安装后,它可以工作了。但是,我相信lua-load出错。当我尝试lua-load /usr/share/haproxy/auth-request.lua时,运行journalctl -xe: error in lua file '/tmp/auth-request.lua': cannot open /tmp/auth-request.lua: Permission denied 时出现以下错误。与haproxy:haproxy文件中一样,在文件上设置的权限为haproxy.cfg。我也尝试过修改user root group roothaproxy.cfg中的chown /tmp/auth-request.lua root:root。错误仍然存​​在。

我可能与原始问题有所不同。我希望仍然有可能解决此问题。如果需要更多信息或上下文,则可以提供。

编辑2

最近,我尝试为/tmp/auth-request.lua上的所有用户添加读取和执行权限。 ls -l输出:

-rwxr-xr-x 1 root root 3957 Feb 25 02:24 /tmp/auth-request.lua

1 个答案:

答案 0 :(得分:0)

好了几个小时后,我能够按照帖子中的 EDIT 2 解决权限问题。我将我的Lua脚本移到了haproxy config目录,这似乎行得通。虽然,我不太确定/etc/haproxy是否是保留Lua脚本的好位置,但是,到目前为止,它仍然有效。