-
- 使用supervisor进行进程监控和自启动管理
- 2015-05-23
安装:
apt-get install supervisor
一定要用上面这种方式,不要用pip install supervisor,如果用pip的话,也会正常安装并且supervisord也能正常用,但是没法配置其它程序的自启动。
因为pip没有创建/etc/supervisor目录,而通过apt-get的方式安装的话,只要在/etc/supervisor/conf.d/目录下写 *.conf文件就可以在开机时自启动其它进程了
命令
Supervisor 有两个可执行程序 – supervisord 和 supervisorctl:
- supervisord 是后台管理服务器, 用来依据配置文件的策略管理后台守护进程, 它会随系统自动启动
- supervisorctl 用于管理员向后台管理程序发送 启动/重启/停止 等指令;
它们之间的关系就相当于 Apache 的 httpd 和 apachectl.
主配置文件
配置文件 用来指示 Supervisor 有哪些进程需要管理, 以及管理策略.
主配置文件 的路径位于 /etc/supervisor/supervisord.conf, 主配置文件中的末尾两行文本:
[include] files = /etc/supervisor/conf.d/*.conf
指明了 Supervisor 会去 /etc/supervisor/conf.d/ 目录下查找以 .conf 结尾的子配置文件, 也就是说, 我们只需在 /etc/supervisor/conf.d/ 目录下为每个后台守护应用新建一个配置文件即可.
子配置文件
举个例子, 我们只需新建一个子配置文件 /etc/supervisor/conf.d/sites.conf:
[program:viking] command =uwsgi --master --processes 4 /home/my/uwsgi_viking.ini
- 为了方便管理, 每个后台守护应用对应一个 /etc/supervisor/conf.d/[program-name].conf 子配置文件
- program: 后跟随的 codinn 指明后台守护应用的代号, supervisorctl 需要用该代号控制守护进程的启动/停止.
- program 区的更多配置请参考: [program:x] Section Settings
- 子配置基本上只需关心 program 区
- command 字段设置的是后台守护应用的启动命令, 注意: 该命令必须是在前台执行的, 即会独占控制台, 否则会导致 supervisor 无法获得标准输出, 并失去进程的控制权.
控制守护进程
- 每次 修改主配置文件 或 增改子配置文件 都需要执行 supervisorctl update 使新配置生效:
sudo supervisorctl update
- 控制守护进程:
# 控制所有进程 sudo supervisorctl start all sudo supervisorctl stop all sudo supervisorctl restart all # 定向控制指定进程 sudo supervisorctl stop abc sudo supervisorctl start abc sudo supervisorctl restart abc
-
Views(13802) | Comments(0) |
In:
System/Application
Python相关
Linux Server
|

百度地图api的https(ssl)支持
(10/19)
