Python Web部署笔记五(Supervisor)

Supervisor安装

$ pip3 install supervisor
$ echo_supervisord_conf > /etc/supervisord.conf
$ mkdir -p /etc/supervisord.d/conf
$ mkdir -p /var/log/supervisor/
$ mkdir -p /var/run/supervisor/
$ echo 'files = supervisord.d/conf/*.conf' >> /etc/supervisord.conf # [include]前面的注释要去掉

修改以下默认地址 - /var/run/supervisor/supervisor.sock - /var/log/supervisor/supervisor.log - /var/run/supervisor.pid

$ wget -O /usr/lib/systemd/system/supervisord.service https://raw.githubusercontent.com/Supervisor/initscripts/master/centos-systemd-etcs
$ vi /usr/lib/systemd/system/supervisord.service # 修改/usr/bin/usr/local/bin

# supervisord service for systemd (CentOS 7.0+)
# by ET-CS (https://github.com/ET-CS)
[Unit]
Description=Supervisor daemon

[Service]
Type=forking
ExecStart=/usr/local/bin/supervisord -c /etc/supervisord.conf
ExecStop=/usr/local/bin/supervisorctl shutdown
ExecReload=/usr/local/bin/supervisorctl reload
KillMode=process
Restart=on-failure
RestartSec=42s

[Install]
WantedBy=multi-user.target

$ systemctl enable supervisord.service
$ systemctl start supervisord.service
$ systemctl status supervisord.service

supervisor配置app运行

$ vi /etc/supervisord.d/conf/awesome.conf

[program:awesome]
command=/srv/awesome/www/app.py
directory=/srv/awesome/www
user=wwwdata
startsecs=3
redirect_stderr=true
stdout_logfile_maxbytes=50MB
stdout_logfile_backups=10
stdout_logfile=/srv/awesome/log/app.log

$ useradd wwwdata
$ supervisorctl reload
$ supervisorctl start awesome

supervisor启动报错

某一次发现supervisor启动错误
$ systemctl status supervisord

2 16:50:59 vultr.guest systemd[1]: supervisord.service: control process exited, code=exited status=2
Aug 22 16:50:59 vultr.guest systemd[1]: Failed to start Supervisor daemon.
Aug 22 16:50:59 vultr.guest systemd[1]: Unit supervisord.service entered failed state.
Aug 22 16:50:59 vultr.guest systemd[1]: supervisord.service failed

使用systemctl start supervisord尝试启动后,会出现错误提示,提示使用命令journalctl -xe查看具体信息
$ journalctl -xe,可以看到如下信息

Aug 22 16:54:42 vultr.guest supervisord[1659]: Error: Cannot open an HTTP server: socket.error reported errno.ENOENT (2)
Aug 22 16:54:42 vultr.guest supervisord[1659]: For help, use /usr/local/bin/supervisord -h
Aug 22 16:54:42 vultr.guest systemd[1]: supervisord.service: control process exited, code=exited status=2
Aug 22 16:54:42 vultr.guest systemd[1]: Failed to start Supervisor daemon.

搜索找到原因,是由于/var/run/supervisor/文件夹不存在(不知道怎么没了),解决后成功启动。



发表评论:

登录后发表评论

最新评论:

    评论区空空如也~

发布者: superadmin