推荐从非 root bash 脚本启动 supervisord 的方法?

推荐从非 root bash 脚本启动 supervisord 的方法?

我已经设置了主管来监控一些进程。因为我通过远程脚本部署,所以我需要一种无需 sudo 即可发送主管启动/停止命令的方法。但我不确定如何做到这一点。

有没有办法在主管中以非 root 用户身份运行指定的命令?

答案1

supervisorctl命令可以以非 root 用户身份运行。您需要做的就是授予它连接到该supervisord进程的权限。

您需要在相应的服务器部分配置访问权限,因此在[unix_http_server]部分[inet_http_server]部分,无论您使用哪种supervisord设置。

如果您使用[unix_http_server]设置,您可以添加chmod和/或chown指令来控制谁可以访问 UNIX 域套接字,例如:

[unix_http_server]
chown = youruser

这样youruser就可以写入该套接字,这意味着supervisorctl可以发送supervisord命令。您还可以添加一个组:

[unix_http_server]
chown = youruser:yourgroup

最后,你必须重新supervisord启动service supervisor restart

相关内容