Supervisor 守护进程的工具安装与使用

Supervisor 守护进程的工具安装与使用

使用pip安装

一般来说系统会默认安装一个pip,安装python3时默认也会安装一个

pip install supervisor

安装完成之后系统会多出三个命令

生成配置文件

echo_supervisord_conf

启动

supervisord

进程管理控制

supervisorctl

安装完成之后默认是没有生成配置文件的所以需要生成配置文件

echo_supervisord_conf > /etc/supervisord.conf

在配置文件最末端添加需要运行的程序 配置格式为

program:程序名称【可自定义便于查看状态】
command=程序运行命令【需要绝对路径】
是否自动重启
autorestart=true

更多配置参数

例如

[program:foo]
command=/bin/cat

添加完成之后保存,启动 supervisord

supervisord -c /etc/supervisord.conf

更多配置参数

-c 指定配置文件

启动成功,查看状态

supervisorctl status

更多配置参数

启用 Supervisor 自带的web控制台,配置文件添加以下内容

[inet_http_server]
port=*:9001
username=user
password=123

重启 supervisord

supervisorctl reload

然后可以通过 ip:9001 访问web控制台,注意防火墙、服务器安全组需要放行9001端口

查看服务状态

netstat -tlnp |grep 9001

常见问题

Q)如果/etc/supervisord.conf里新增加了app,需要重启supervisord?

A)可以通过supervisorctl update重新加载配置并根据需要添加/删除,并将重新启动受影响的程序。

常见报错

  1. 启动时端口占用,应该是启动过了

    Error: Another program is already listening on a port that one of our HTTP servers is configured to use. Shut this program down first before starting supervisord.

解决方式,删除启动锁

unlink /tmp/supervisor.sock
Top