ubuntu服务器16.04:无法让主管自动启动


42

我在ubuntu服务器16.04上安装了主管。

$ sudo apt-get install supervisor
$ sudo update-rc.d supervisor defaults

重新启动后,超级用户没有自动开始。检查状态:

qinking126@nas:~$ sudo service supervisor status
[sudo] password for qinking126:
● supervisor.service - Supervisor process control system for UNIX
   Loaded: loaded (/lib/systemd/system/supervisor.service; disabled; vendor preset: enabled)
   Active: inactive (dead)
     Docs: http://supervisord.org

我不确定为什么它不活动(死机)。我需要检查什么才能使其修复?


2
看起来您正在使用systemd。请问这askubuntu答案帮助?
杰夫·谢勒

1
@JeffSchaller非常感谢。它有助于。我需要做的就是运行“ systemctl enable SERVICE.service”
qinking126 '16

Answers:


61

我确信这个问题是Ubuntu 16.04中Supervisor软件包中的打包错误,它似乎是由切换到systemd引起的:

  • 已经在发行人735的Supervisor项目的问题跟踪器(无法修复任何问题)的上游报告了此问题。

  • 几天前,我被这个问题咬了一下,很惊讶地发现,即使Ubuntu 16.04在很早以前发布,也从未向软件包维护者报告过这个问题,这破坏了向后兼容性和预期的行为。这就是为什么我决定在错误1594740中向软件包维护者报告此问题的原因

我在错误1594740中记录了一个简单的解决方法,该方法不需要创建任何配置文件-您只需要在安装软件包后启用并启动Supervisor守护程序即可:

# Make sure Supervisor comes up after a reboot.
sudo systemctl enable supervisor

# Bring Supervisor up right now.
sudo systemctl start supervisor

我不那么肯定,这将是固定在Ubuntu 16.04,但至少现在有一个集中的地方聚集(在投诉和文档的解决方法错误1594740不是问题735)。

如果有人被此问题咬伤,请考虑在错误1594740中表达您的担忧,以说服软件包维护者解决此问题。谢谢!

更新(2017-03-24):由于错误1594740,昨天针对xenial-updates 发行了针对此问题的修复程序,因此新安装不应再遇到此问题。



1

这是一个文件示例,您可以在其中放置/ lib / systemd / system /

[Unit]
Description=Supervisord Service

[Service]
Restart=on-failure
RestartSec=42s
User=ubuntu
ExecStart=/usr/local/bin/supervisord -n -c /etc/supervisord.conf

[Install]
WantedBy=multi-user.target

默认的ubuntu配置位置为/etc/supervisord/supervisord.conf
Antti Haapala,2016年

@AnttiHaapala不适合我的ubuntu 16.04安装。正确的位置是:/etc/supervisor/supervisord.conf(如果有人想知道,请注意缺少“ d”)
Rishi

@ Yoshi9143你是正确的:D
Antti Haapala

1

我已经删除了它的主管并再次安装。然后它对我有用。

sudo apt-get purge supervisor
sudo apt-get install supervisor
cp path/to/file.conf /etc/supervisor/conf.d/
sudo supervisorctl reread
sudo supervisorctl update

0

在Ubuntu 16.04.2上执行apt-get install超级用户,安装超级用户3.2.0,并在重新启动后自动启动。

pip installsupervisor --upgrade升级到3.3.1,并且根本不再启动。

升级适用于Ubuntu 16.04.1


0

CentOS我解决了它,它在运行的启动中运行了cron作业supervisord

创建crontab -e在终端中运行的cron作业,然后在作业末尾粘贴@reboot /bin/supervisord它必须是supervisor的路径)并保存。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.