我安装了 Supervisor (v3.1.2) 来管理 ElastAlert 但是当我运行supervisorctl
它时有时会抛出这个错误:
unix:///var/run/supervisor.sock no such file
其他时候它会抛出这个错误:
unix:///tmp/supervisor.sock no such file
我会注意到它确实让我进入了supervisor>
提示符,但之后的命令与上面的错误相同。该/etc/supervisor/supervisor.conf
文件配置为使用/var/run
,这似乎与第二个错误不一致。
正如其他帮助页面所建议的那样,我创建了一个指向 的链接/etc/supervisor.conf
,但这并没有什么不同。
两件奇怪的事情,当我第一次安装 Supervisor 时,它运行良好,但在重新启动后,这个问题就开始了。另一个奇怪的事情是 ElastAlert 在重新启动后启动,并继续正常执行。因此,虽然它可能有错误,但它正在做它的工作。不是一个展示停止者,但我希望它能够正常工作。
有任何想法吗?
当物理机重新启动时,这发生在我身上。我的机器运行 Ubuntu,从 12.04 到 16.04。我通过将主管作为服务重新启动来解决它。
(不知何故,这比简单地使用“重启”要好得多)
显然,如果您依赖 Supervisor 为您启动其他程序而无需在每次重新启动后重新启动,这不是一个理想的解决方案。我目前正在
systemd
像其他人建议的那样进行调查。编辑:如果您使用的是 Ubuntu 16.04,这个答案可能会解决您的所有问题,就像我的问题一样。您应该“启用” systemd 以启动 supervisord。https://unix.stackexchange.com/a/291098
这是我的情况。假设错误是
unix:///var/run/supervisord.sock no such file
在键入此命令时sudo supervisorctl status
所以我的解决方案是:
sudo nano /etc/supervisor/supervisord.conf
unix:///var/run/supervisor.sock
. 看supervisor d和supervisor的区别service supervisor restart
sudo service supervisor status
sudo supervisorctl status
如果是,请尝试删除您的配置/etc/supervisor/conf.d/ ...
或重新安装主管我在托管我的 django 应用程序时遇到了这个问题。我的机器是aws=>ec2=>ubuntu 18.x
我的 gunicorn bash 文件配置错误。当我修复 gunicorn 文件中的路径问题时。主管开始回去工作。
确保你配置好:
所以我遇到了同样的问题,我使用非root用户使用主管。关键是你必须确保supervisord服务正在运行。要做到这一点,首先找到并运行supervisord。因为我使用的是pyenv,所以这是我运行的命令
supervisord.conf 由我创建并放置在那里。
现在运行 supervisorctl 工作得很好。
重启后我遇到了同样的错误:
显然,重新启动后,我使用与以前不同的用户登录。当我使用与以前相同的用户(在我的情况下是 root)时,一切都再次正常工作。
希望这对某人有帮助!
上述解决方案对我不起作用,问题更多与添加到主管的错误 .conf 文件有关。
在我的情况下,问题是因为其中一个上级托管进程没有创建其日志文件或没有有效路径。我诊断问题的方法是:
找到systemctl中提到的命令来运行supervisor进程,它是:
systemctl -l status supervisor.service
这里的命令是根据键“Process”提到的。就我而言,主管的 3.3.1 版本是
/usr/bin/supervisord -n -c /etc/supervisor/supervisord.conf
现在在终端中运行上述命令。您可能需要附加
sudo
. 这将显示主管不工作的确切原因。在我的情况下,命令的输出如下所示:上面的消息清楚地显示了导致错误的日志文件。
您可以创建日志文件或删除 .conf 文件并重新加载主管以解决问题。重新加载主管的命令是:
运行 supervisord -c /path/to/supervisord.conf
然后运行 supervisorctl -c /path/to/supervisord.conf