参考文档:https://www.cnblogs.com/tinywan/p/6809879.html
https://github.com/juce/sockproc
https://blog.csdn.net/weixin_38652136/article/details/85775789

1.shell.sock找不到的解决办法

按照参考文档中的来做的话,shell.sock被放到了/tmp目录下,但是使用过程中,一直报文件找不到。
解决办法是将shell.sock放到其他目录。

connect() to unix:/tmp/shell.sock failed (2: No such file or directory)

例如:

./sockproc /data/shell.sock
chmod 0666 /data/shell.sock

在lua中使用的时候更换下地址即可。

在这里插入图片描述
在这里插入图片描述

2.resty.shell模块不存在

require "resty.shell"加载resty.shell模块的时候失败。参考的链接中,他resty.shell文件的拷贝看不懂,然后我是放到了跟我的nginx.conf的相对目录下的。
在这里插入图片描述
/resty/shell.lua 放到了这里。
也可以直接在nginx.conf里面的server标签前面直接装载模块。

lua_package_path "resty.shell的绝对路径"
server {...}

3.服务器重启后shell.sock无法连接

在这里插入图片描述
服务器重启后,就会报错

connect() to unix:/data/shell/shell.sock failed (111: Connection refused)

所以需要重新执行

./sockproc /data/shell.sock
chmod 0666 /data/shell.sock

命令。
我们可以把这两个命令放到开机启动时自动执行的脚本中。参考连接https://blog.csdn.net/weixin_38652136/article/details/85775789
vim /etc/rc.d/rc.local内容如下:

touch /var/lock/subsys/local
sudo /usr/local/k8s/lua/sockproc/sockproc /data/shell/shell.sock
sudo chmod 0666 /data/shell/shell.sock
Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐