Supervisor部署

supervisor是python开发的一个守护进程,也是进程管理利器。接触他之后便开始使用它管理服务器上的启动的应用,直到学习Docker之后。

Supervisor官网里面有详细的使用文档

安装

不建议使用pip或者easy_install安装,如果是ubuntu系统建议使用apt-get,以免升级python版本后出现依赖问题。

1
sudo apt-get install supervisor

初始化配置文件

如果使用dpkg安装,则需要初始化配置文件,配置文件在/etc/supervisord/目录下面覆盖掉即可。

1
echo_supervisord_conf > /etc/supervisord.conf

或者指定配置文件

1
supervisord -c supervisord.conf

启动supervisor

1
sudo service supervisord start

开启web管理

修改配置文件,删掉[inet_http_server]配置的注释重启服务,为了安全起见加上密码。

展示一个配置文件

1
2
3
4
5
6
7
8
[program:osu_splider]
command=/home/pi/osu_tool/osu_tool/bin/python /home/pi/osu_tool/osu_splider.py
directory=/home/pi/osu_tool
numprocess=1
autostart=true
autorestart=true
stdout_logfile = /tmp/osu_splider_stdout.log
stderr_logfile = /tmp/osu_splider_stderr.log
  1. [program:xxx] 冒号后一定不能有空格,不然通过supervisorctl管理任务的时候会出现找不到进程的错误
  2. command 运行的程序以及命令
  3. 不再逐条解释,可以选择工作路径程序的运行用户、权限、umask等,详见文档