一、概述
1.supervisor是一个基于Python的进程管理工具;
2.可通过WEB端对用户定义的进程执行启动,关闭,重启(包括进程异常、崩溃等情况),且可查看进程运行状态与日志;
3.supervisor主要由supervisord(服务端)和supervisorctl(客户端)两部分组成
1)服务端启动方式:/usr/bin/supervisord -c /etc/supervisor/supervisord.conf
2)客户端执行命令:supervisorctl start/stop/restart program_name
2、安装
可通过pip install supervisor方式进行安装,安装完成后需要手动启动,并设置为开机自启动方式,安装完成后,默认路径/usr/bin/supervisord(可能不同linux系统版本不同默认路径存在不一致)
3、配置
1)supervisord配置文件
supervisord的配置文件默认位于 /etc/supervisor/supervisord.conf,建议修改的几个点如下:
[unix_http_server]
file=/tmp/supervisor.sock ; (the path to the socket file),建议修改此目录,避免被系统删除
[inet_http_server] ; inet (TCP) server disabled by default
port=*:9980 ; (ip_address:port specifier, *:port for all iface)
[supervisord]
logfile=/tmp/supervisord.log ; (main log file;default $CWD/supervisord.log) ,建议修改此目录,避免被系统删除
pidfile=/tmp/supervisord.pid ; (supervisord pidfile;default supervisord.pid),建议修改此目录,避免被系统删除
[supervisorctl]
serverurl=unix:///tmp/supervisor.sock ; use a unix:// URL for a unix socket,建议修改此目录,避免被系统删除
serverurl=http://*:9980 ; use an http:// url to specify an inet socket
2)项目配置文件
项目配置文件建议放置路径:/etc/supervisor/conf.d/,命令规则建议:program_name.conf
[program:test-webapi-ms]
command=/opt/jdk1.8.0_151/bin/java -jar -Dspring.profiles.active=test test-0.0.1-SNAPSHOT.jar
directory=/home/test/
autorestart=true
stderr_logfile=/var/log/supervisor/test.err.log
stdout_logfile=/var/log/supervisor/test.out.log
user=root
stopsignal=INT
4、supervisorctl命令
supervisorctl是supervisord的命令行客户端工具,supervisorctl操作的常用命令:
supervisorctl status --查看进程状态
supervisorctl stop program_name --关闭进程
supervisorctl start program_name --启动进程
supervisorctl restart program_name --重启进程
supervisorctl update --重启配置文件修改过的程序
1.supervisor是一个基于Python的进程管理工具;
2.可通过WEB端对用户定义的进程执行启动,关闭,重启(包括进程异常、崩溃等情况),且可查看进程运行状态与日志;
3.supervisor主要由supervisord(服务端)和supervisorctl(客户端)两部分组成
1)服务端启动方式:/usr/bin/supervisord -c /etc/supervisor/supervisord.conf
2)客户端执行命令:supervisorctl start/stop/restart program_name
2、安装
可通过pip install supervisor方式进行安装,安装完成后需要手动启动,并设置为开机自启动方式,安装完成后,默认路径/usr/bin/supervisord(可能不同linux系统版本不同默认路径存在不一致)
3、配置
1)supervisord配置文件
supervisord的配置文件默认位于 /etc/supervisor/supervisord.conf,建议修改的几个点如下:
[unix_http_server]
file=/tmp/supervisor.sock ; (the path to the socket file),建议修改此目录,避免被系统删除
[inet_http_server] ; inet (TCP) server disabled by default
port=*:9980 ; (ip_address:port specifier, *:port for all iface)
[supervisord]
logfile=/tmp/supervisord.log ; (main log file;default $CWD/supervisord.log) ,建议修改此目录,避免被系统删除
pidfile=/tmp/supervisord.pid ; (supervisord pidfile;default supervisord.pid),建议修改此目录,避免被系统删除
[supervisorctl]
serverurl=unix:///tmp/supervisor.sock ; use a unix:// URL for a unix socket,建议修改此目录,避免被系统删除
serverurl=http://*:9980 ; use an http:// url to specify an inet socket
2)项目配置文件
项目配置文件建议放置路径:/etc/supervisor/conf.d/,命令规则建议:program_name.conf
[program:test-webapi-ms]
command=/opt/jdk1.8.0_151/bin/java -jar -Dspring.profiles.active=test test-0.0.1-SNAPSHOT.jar
directory=/home/test/
autorestart=true
stderr_logfile=/var/log/supervisor/test.err.log
stdout_logfile=/var/log/supervisor/test.out.log
user=root
stopsignal=INT
4、supervisorctl命令
supervisorctl是supervisord的命令行客户端工具,supervisorctl操作的常用命令:
supervisorctl status --查看进程状态
supervisorctl stop program_name --关闭进程
supervisorctl start program_name --启动进程
supervisorctl restart program_name --重启进程
supervisorctl update --重启配置文件修改过的程序