Supervisor 3.3与Ubuntu 16.04服务启动失败

Ale*_*ang 8 ubuntu supervisord

今天早上,我通过使用升级我的主管

pip install --upgrade supervisor //from 3.2 to 3.3
Run Code Online (Sandbox Code Playgroud)

但在那之后,服务状态通知它失败开始.

supervisor.service - Supervisor process control system for UNIX
Loaded: loaded (/lib/systemd/system/supervisor.service; disabled; vendor preset: enabled)
Active: activating (auto-restart) (Result: exit-code) since Tue 2016-05-24 12:19:48 CST; 25s ago
Docs: http://supervisord.org
Process: 27369 ExecStop=/usr/bin/supervisorctl $OPTIONS shutdown (code=exited, status=203/EXEC)
Process: 27366 ExecStart=/usr/bin/supervisord -n -c /etc/supervisor/supervisord.conf (code=exited, status=203/EXEC)
Main PID: 27366 (code=exited, status=203/EXEC)

May 24 12:19:48 709101111291e5cZ systemd[1]: supervisor.service: Unit entered failed state.
May 24 12:19:48 709101111291e5cZ systemd[1]: supervisor.service: Failed with result 'exit-code'.
Run Code Online (Sandbox Code Playgroud)

这是我的工作人员配置:

[program:worker]
process_name=%(program_name)s_%(process_num)02d
command=php artisan queue:listen --timeout=360 --queue=high,low --sleep=3 --tries=3
autostart=true
autorestart=true
exitcodes=0,2
user=www
numprocs=2
redirect_stderr=true
stdout_logfile=/www/worker/storage/logs/worker.log
Run Code Online (Sandbox Code Playgroud)

请有人可以帮忙吗?

wil*_*ack 21

我使用Supervisor 3.2在Ubuntu 16.04上,当我尝试启动服务主管启动主管时出现同样的错误.

我曾经apt-get install supervisor安装过supervisor,它把supervisorctl和supervisord放进去了/usr/bin/.

我的supervisor.service文件指向/usr/bin/.我被卡住了.

更新我发现了问题,结果发现我的一个.conf文件中存在解析错误/etc/supervisor/conf.d/.一旦我修复它工作.这个错误一点也不清楚,但有关于如何找到它的暗示.在那里有原始错误输出有一行像

ExecStart=/usr/bin/supervisord -n -c /etc/supervisor/supervisord.conf (code=exited, status=203/EXEC)

/usr/bin/supervisord -n -c /etc/supervisor/supervisord.conf从命令行运行它会给你一个更详细的错误.


Ale*_*ang 8

我通过编辑修复问题/lib/systemd/system/supervisor.service,最好使用命令安装主管easy_install supervisor

[Unit]
Description=Supervisord Service

[Service]
ExecStart=/usr/local/bin/supervisord -n -c /etc/supervisor/supervisord.conf
ExecStop=/usr/local/bin/supervisorctl $OPTIONS shutdown
ExecReload=/usr/local/bin/supervisorctl -c /etc/supervisor/supervisord.conf $OPTIONS reload
KillMode=process
Restart=on-failure
RestartSec=50s


[Install]
WantedBy=multi-user.target
Run Code Online (Sandbox Code Playgroud)

在默认设置中,supervisord的路径是错误的,它是/ usr/bin.但是pip install会把它放在/ usr/local/bin中.


Ada*_*eis 6

我遇到了类似的问题,我得到了 status=2 作为退出代码。没有进一步的线索表明可能出了什么问题。

事实证明,如果日志文件夹不存在,Supervisor 将不会启动。由于该文件夹安装在 tmpfs 上,因此在设备重新启动后,它会再次被擦除。

这导致 Supervisor 无法启动(已知问题: https: //github.com/Supervisor/supervisor/issues/121

作为修复,我将以下几行添加到启动脚本中:

mkdir /var/log/supervisor
sudo service supervisor restart
Run Code Online (Sandbox Code Playgroud)

现在,该文件夹在启动时创建,并且主管正确启动。