supervisor安装、配置和运行
supervisor是python写的进程管理工具,supervisor能够批量对进程执行启动,停止,重启等操作,有效提高了运维效率。注意supervisor只能管理前台进程,supervisor会自动将该进程转为守护进程。
- 安装
pip install supervisor
- 配置
echo_supervisord_conf > /etc/supervisord.conf mkdir /etc/supervisord.d
打开/etc/supervisord.conf文件,增加以下两行:
[include] files = /etc/supervisord.d/*.conf
假设你的应用名为myapp
touch /etc/supervisord.d/myapp.conf
打开改文件,写入如下配置:
[program:myapp] command=XXX ; start command of myapp autostart=true ; 启动supervisord时是否启动myapp autorestart=true ; myapp异常退出之后是否重启myapp startsecs=5 ; 启动5秒之后未异常退出,即当做启动成功 startretries=3 ; 异常退出之后重试次数 redirect_stderr = true ; 将stderr输出重定向到stdout stdout_logfile=/the/path/to/logfile ; 将stdout重定向到文件 stdout_logfile_maxbytes = 20MB ; 日志文件超出20MB, 进行滚动 stdout_logfile_backups = 5 ; 日志文件备份数 stopasgroup=true ; stop myapp时,将myapp子进程也停止 killasgroup=true ; kill myapp时,将myapp子进程也杀死
- 启动supervisor: supervisord -c /etc/supervisord.conf
- 使用supervisor shell
supervisorctl -c /etc/supervisord.conf >status # 显示被管理进程的状态 >start myapp # 启动myapp >stop myapp # 停止myapp >restart myapp # 重启myapp