[英]Running HAProxy with Lua Scripts
我正在嘗試使用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
通過將TARGET=linux
更改為TARGET=generic
我能夠從源代碼獲得haproxy
。 生成文件停止后,在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
收到以下錯誤journalctl -xe: error in lua file '/tmp/auth-request.lua': cannot open /tmp/auth-request.lua: Permission denied
。 與haproxy.cfg
文件一樣,在文件上設置的權限為haproxy:haproxy
。 我也嘗試過嘗試修改haproxy.cfg
和chown /tmp/auth-request.lua root:root
user root group root
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
辛苦了幾個小時,好了,我能夠按照帖子中的EDIT 2來解決權限問題。 我將我的Lua腳本移到了haproxy config目錄,這似乎行得通。 雖然,我不太確定/etc/haproxy
是否是保留Lua腳本的好位置,但是到目前為止,它已經起作用了。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.