Python服务进程管理工具supervisor使用记录

[本文出自天外归云的博客园]

学习资料

supervisor文档:http://supervisord.org/running.html

踩坑总结

问题1:提示找不到一些包含/tmp的路径

需要修改supervisord.conf配置文件中的一些/tmp/路径:

logfile=/var/log/supervisord.log

pidfile=/var/run/supervisord.pid

serverurl=unix:///var/run/supervisor.sock

问题2:提示没有找到/var/run/supervisor.sock

创建supervisor.sock文件并修改权限:

sudo touch /var/run/supervisor.sock

sudo chmod 777 /var/run/supervisor.sock

问题3:supervisor启动报错,提示在找python3.6(之前安装过),结果没找到(被我删了)

这就需要在/usr/目录下所有文件中查找python3.6字样:grep -rnw '/usr/' -e "python3.6"

如果python是用pyenv安装的,看下which python:/root/.pyenv/shims/python

然后全部替换为:/root/.pyenv/shims/python

一些常用的supervisor命令

启动服务:supervisord -c supervisord.conf

查看进程:ps -ef | grep super

查看服务状态:supervisorctl status

停止所有服务:supervisorctl stop all

启动所有服务:supervisorctl start all

配置文件

这里我用supervisor启动的程序是我的一个django服务,这个服务是用daphne启动的。配置如下:

[program:daphne]
directory=/root/zenkilan/script_generator/script_generator/django_service
command=daphne -b 0.0.0.0 -p 8080 --proxy-headers django_service.asgi:application
autostart=true
autorestart=true
stdout_logfile=/tmp/websocket.log
redirect_stderr=true

 

posted @ 2023-02-01 14:52  天外归云  阅读(98)  评论(0编辑  收藏  举报