Supervisor安装使用
一句话简介:
Supervisor通过简单的INI样式配置文件进行配置来提供一个启动,停止和监控程序进程并且当进程终止时,操作系统会立即向Supervisor发出信号重新启动失败进程的一个 C/S 进程管理系统 (摘自官方文档:http://www.supervisord.org/introduction.html#overview)
安装环境:
操作系统: CentOS 7.3
Python :Python 2.7.5(系统默认即可)
步骤:
1.安装
yum install python-setuptools easy_install supervisor
2.配置文件生成
使用Supervisor配置命令echo_supervisord_conf将配置文件重定向到固定的文件中去
mkdir /etc/supervisor echo_supervisord_conf > /etc/supervisor/supervisord.conf
3.常用配置文件说明(‘;’为该配置文件的注释,删除即可放开)
;[inet_http_server] ;HTTP服务器,提供web管理界面
;port=127.0.0.1:9001 ;Web管理后台运行的IP和端口,如果开放到公网,需要注意安全性
;username=user ;登录管理后台的用户名
;password=123 ;登录管理后台的密码
pidfile=/var/run/supervisord.pid ; supervisord pid文件,需要修改到其他路径下,防止tmp目录自动删除导致supervisor服务崩溃
logfile=/tmp/supervisord.log ; main log file;supervisor程序日志文件,建议修改到其他路径下
file=/var/run/supervisor.sock ; the path to the socket file supervisor程序启动时的socket文件;需要修改到其他路径下,防止tmp目录自动删除导致supervisor服务崩溃
serverurl=unix:///var/run/supervisor.sock ;进程运行时sock文件存放位置
[include]
files = /etc/supervisor/config.d/*.ini ;配置引用其他配置文件,一般配置管理进程时都这么做,方便程序配置管理
4.配置管理进程
创建/etc/supervisor/config.d目录并在改目录下配置程序信息
mkdir /etc/supervisor/config.d touch ht2d.ini cat ht2d.ini [program:htedit-2d-demo] ;(程序名) command=node /app/htedit-demo/ht-2d/server/server.js ;(程序启动命令) stdout_logfile=/app/htedit-demo/logs/ht2d.log ;(配置该程序日志存放位置) autostart=true autorestart=true startsecs=5 priority=1 stopasgroup=true killasgroup=true
5.supervisor管理与使用
####启动服务
supervisorctl start all
supervisorctl start service_name
####关闭服务
supervisorctl stop all
supervisorctl stop service_name
####查看状态
supervisorctl status [service_name]
####重新启动所有服务或者是某个服务
supervisorctl restart all
supervisorctl restart service_name
####关闭supervisor服务 里面所有应用也随之关闭
supervisorctl shutdown
####重启supervisor服务 里面所有应用也随之重启
supervisorctl reload
####修改配置文件后加载
supervisord -c /etc/supervisor/supervisord.conf
####根据配置文件更新服务(添加、删除要管理的服务)
supervisorctl update
6.如果在上面的配置中打开了web服务即可访问其配置端口登录后管理进程服务 如下图:(可进行停止,重启,清除应用日志以及查看查看日志的简单管理操作)
yum -y install python-setuptools && easy_install supervisor &&mkdir /etc/supervisor && echo_supervisord_conf > /etc/supervisor/supervisord.conf && mkdir /etc/supervisor/config.d