supervisor是基于Python的一个client/server服务,是Linux/Unix系统下的一个进程管理工具。用于进程守护,可以同时监听、启动、重启一个或多个进程。当supervisor监听到其守护进程被意外杀死后,会自动将其重启,恢复。无需使用shell脚本控制。
安装supervisor:Centos和Debian
配置supervisor:打开【supervisor】安装目录路径下的【supervisord.conf或supervisord.ini】文件
在文件尾部找到如下[include]标签,并取消注释。其中,files指向【supervisor】的安装目录下的文件夹下的目标进程配置文件
[include]
files = /root/supervisor/supervisord.d/*.conf
用户名和密码配置
[inet_http_server]
port = 0.0.0.0:14502 #IP和绑定端口
username = root #管理员名称
password = 123456 #管理员密码
supervisor无法配置进环境变量,从而全局使用。故执行其相关命令需要切入 supervisor 安装目录(即supervisor.conf所在目录),再运行。
其常用命令为:
- supervisorctl //进入shell交互界面,需要输入密码,密码可在配置文件中查看
- supervisorctl start [all]|[x] //启动所有/指定的程序进程
- supervisord //启动supervisor
- supervisord -c supervisor.conf //通过配置文件启动supervisor
- supervisorctl reload //重启服务(修改配置文件或者增减守护进程时,需要此操作)
- supervisorctl stop [all]|[x] //关闭所有/指定的程序进程
- ps -ef | grep supervisord //查看supervisor及其主程序目录
- supervisorctl status //查看状态