Supervisor 3.3与Ubuntu 16.04服务启动失败
今天早上,我已经通过使用升级了我的主管Supervisor 3.3与Ubuntu 16.04服务启动失败,ubuntu,supervisord,Ubuntu,Supervisord,今天早上,我已经通过使用升级了我的主管 pip install --upgrade supervisor //from 3.2 to 3.3 但在此之后,服务状态通知it失败启动 supervisor.service - Supervisor process control system for UNIX Loaded: loaded (/lib/systemd/system/supervisor.service; disabled; vendor preset: enabled) Activ
pip install --upgrade supervisor //from 3.2 to 3.3
但在此之后,服务状态通知it失败启动
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'.
这是我的工作配置:
[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
请有人帮忙好吗?我通过编辑
/lib/systemd/system/supervisor.service
,以及最好使用命令install supervisoreasy\u 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
默认设置中supervisord的路径错误,它是/usr/bin。但是pip安装会把它放在/usr/local/bin中。我在Ubuntu 16.04上使用的是Supervisor 3.2,当我尝试用service Supervisor start启动Supervisor时,也会遇到同样的错误 我使用了
apt get install supervisor
来安装supervisor,它将supervisorctl和supervisorOrd放在/usr/bin/
中
我的supervisor.service
文件指向/usr/bin/
。我卡住了
更新
我发现了问题,结果是/etc/supervisor/conf.d/
中的一个.conf文件出现了解析错误。有一次我确定它能工作。这个错误一点也不清楚,但有一个关于如何找到它的提示。在原始错误输出中有一行,如
ExecStart=/usr/bin/supervisor-n-c/etc/supervisor/supervisor.conf(code=exited,status=203/EXEC)
从命令行运行
/usr/bin/supervisor-n-c/etc/supervisor/supervisor.conf
,它会给您一个更详细的错误 我遇到了一个类似的问题,我得到了一个status=2作为退出代码。对于可能出现的问题,没有进一步的线索
事实证明,如果它的日志文件夹不存在,则不会启动Supervisor。由于此文件夹安装在tmpfs上,因此在设备重新启动后,它将再次被擦除
这导致主管无法启动(已知问题:)
作为修复,我在启动脚本中添加了以下行:
mkdir /var/log/supervisor
sudo service supervisor restart
现在,文件夹在启动时被创建,并且supervisor启动正确。我不知道如何在Ubuntu中启动该服务,尽管它有
/lib/systemd/system/supervisor.service
和config right。但是,当您启动服务主管时,它将被屏蔽。
我使用tip,既有apt install supervisor
又有easy\U install supervisor
,然后是easy\U install-U supervisor
。现在,它有两个不同的版本,
/usr/local/bin/supervisord——版本//版本3.3.3至2018年1月26日
/usr/bin/supervisord--version//version 3.2.0 Ubuntu 16.04
之后,编辑/lib/systemd/system/supervisor.service
和/etc/init.d/supervisor
,将所有/usr/bin/supervisor
更改为/usr/local/bin/supervisor
最后,在bash中,重新加载服务配置<代码>sudo systemctl后台程序重新加载
现在,所有服务都运行最新版本的supervisor
也许,你可以试着解开服务的伪装
systemctl unmask supervisor
systemctl enable supervisor
systemctl restart supervisor
“pip安装--升级管理器”不会将其作为服务安装。您是否使用了“sudo apt get install supervisor”?如果是这样的话,那么它就安装在/usr/bin…@vgoklani实际上,我有两种方法来安装它,因为官方的Ubuntu软件包只有3.2,然后我通过pip安装-升级来升级它。我也有这个问题。我认为首先在没有任何配置文件的情况下启动supervisor是明智的,然后添加配置文件,看看哪些配置文件不起作用。在一个干净的ubuntu安装上安装并启用supervisor使我遇到了同样的问题,这似乎解决了这个问题。谢谢。有更好的地方可以问这样的问题,比如