同样在ubuntu下弄,先安装
sudo apt-get install supervisor
安装后,通过Supervisor附送的贴心的小脚本生成默认的配置文件
echo_supervisord_conf > /etc/supervisord.conf
修改脚本文件(/etc/supervisord.conf),在最后添加如下
[include]
files = /etc/supervisor/*.conf
然后我们在创建自己独立的conf文件,其实也可以放在上面默认配置的后面,但是不利于管理。我们希望每个项目,都有一个自己的进程。进入conf的目录
cd /etc/supervisor/conf.d/
//创建文件
vi TQB.conf
内容如下:
[program:tqb]
user=root
command=/root/home/go_app/bin/TQBProject
autostart=true
startsecs=10
stdout_logfile=/data/host/hjy/golog/tqb.log
stdout_logfile_maxbytes=1MB
stdout_logfile_backups=10
stdout_capture_maxbytes=1MB
stderr_logfile=/data/host/hjy/golog/tqb.log
stderr_logfile_maxbytes=1MB
stderr_logfile_backups=10
stderr_capture_maxbytes=1MB
stopsignal=INT
[supervisord]
program=监控进程名称
command=被监控的进程路径
user=当前用户名
stdout_logfile=/data/host/hjy/golog/tqb.log 日志需要自己创建
创建好以后,我们开始启动,输入
sudo service supervisor start //启动服务
supervisorctl reload
提示:Restarted supervisord
然后我们再查看状态,输入命令,看到tqb运行中。
# supervisorctl status
tqb RUNNING pid 1930, uptime 0:00:35
然后我们访问后台试下。搞定。这样supervisorctl就帮你维护这个进程了。
常用命令:
supervisorctl start programxxx,启动某个进程
supervisorctl restart programxxx,重启某个进程
supervisorctl stop groupworker: ,重启所有属于名为groupworker这个分组的进程(start,restart同理)
supervisorctl stop all,停止全部进程,注:start、restart、stop都不会载入最新的配置文件。
supervisorctl reload,载入最新的配置文件,停止原有进程并按新的配置启动、管理所有进程。
supervisorctl update,根据最新的配置文件,启动新配置或有改动的进程,配置没有改动的进程不会受影响而重启。
supervisor启动和停止的日志文件存放在/var/log/supervisor/supervisord.log
注意:显式用stop停止掉的进程,用reload或者update都不会自动重启
参考:https://www.jianshu.com/p/7d7c00b220bf
参考:http://blog.csdn.net/u012374229/article/details/47158435