supervisor安装与使用
supervisor是python开发的linux进程管理工具,可以很方便的控制进程。
其主要的组件:
- supervisord
是服务端程序,主要功能是启动supervisord服务,启动supervisor管理的子进程,对进程进行管理的服务。
- supervisorctl
是客户端程序,主要功能就是管理(启动/关闭/重启/状态等)子进程,提供shell环境进行处理。
- web server
Web Server主要可以在界面上管理进程,Web Server其实是通过XML_RPC来实现的,可以向supervisor请求数据,也可以控制supervisor及子进程。配置在[inet_http_server]块里面
- XML_RPC
远程调用的,上面的supervisorctl和Web Server就它实现
1. 安装
1.1. 在线安装
1 |
|
或者
1 |
|
1.2. 离线安装
如果需要安装supervisor的机器没有Internet访问权限,需要提前下载好安装包,手动copy到机器上,解压后执行python setup.py install
。
需要的安装包
- setuptools
- supervisor
下载地址:
https://pypi.org/project/setuptools/#files
https://pypi.org/project/supervisor/#files
note: 最新的(45.0.0及以后)setuptools需要python3
依次解压安装:
1 |
|
1 |
|
2. 测试安装是否成功
1 |
|
会将一个”sample” Supervisor configuration输出到控制台。
3. 生成配置文件
1 |
|
Supervisor配置文件通常命名为supervisord.conf。 它由supervisord和supervisorctl使用。 如果任一应用程序在没有-c选项的情况下启动(用于显式指示配置文件名的选项),应用程序将按照指定的顺序在以下位置查找名为supervisord.conf的文件。 它将使用它找到的第一个文件。
- $CWD/supervisord.conf
- $CWD/etc/supervisord.conf
- /etc/supervisord.conf
- /etc/supervisor/supervisord.conf (since Supervisor 3.3.0)
- ../etc/supervisord.conf (Relative to the executable)
- ../supervisord.conf (Relative to the executable)
$CWD表示运行supervisord程序的目录。
4. 配置进程
创建目录:
1 |
|
编辑/etc/supervisord.conf
将最后的include
注释打开。
1 |
|
在/etc/supervisor.d/
目录下创建进程配置hexo.conf
1 |
|
5. 启动
启动supervisord
1
supervisord -c /etc/supervisord.conf
启动supervisorctl
1
supervisorctl -c /etc/supervisord.conf
6. 使用
supervisord启动成功后,在终端输入supervisorctl
管理配置的进程。
常用命令
1 |
|
7. web UI
打开注释
1 |
|
启动后访问 ip:9001即可。
8. 开机自启动
新建文件/usr/lib/systemd/system/supervisord.service
1 |
|
开机自启动
1 |
|
查看服务状态:
1 |
|
验证一下是否为开机启动
1 |
|
更多信息请访问官网:http://supervisord.org