centos7 如何安装部署k8s_基于centos7安装部署supervisor教程分享,值得收藏
概述在 web 应用部署到线上后,需要保证应用一直处于运行状态,在遇到程序异常、报错等情况,导致 web 应用终止时,需要保证程序可以立刻重启,继续提供服务。因为最近系统经常GG,挂的有点莫名其妙,所以领导说需要一个工具,时刻监控 web 应用的运行情况,管理该进程。刚好Supervisor 就是解决这种需求的工具,可以保证程序崩溃后,重新把程序启动起来等功能。下面介绍下部署教程,以下基于cent
概述
在 web 应用部署到线上后,需要保证应用一直处于运行状态,在遇到程序异常、报错等情况,导致 web 应用终止时,需要保证程序可以立刻重启,继续提供服务。因为最近系统经常GG,挂的有点莫名其妙,所以领导说需要一个工具,时刻监控 web 应用的运行情况,管理该进程。
刚好Supervisor 就是解决这种需求的工具,可以保证程序崩溃后,重新把程序启动起来等功能。下面介绍下部署教程,以下基于centos7.3系统。
相关概念
supervisor:要安装的软件的名称。
supervisord:装好supervisor软件后,supervisord用于启动supervisor服务。
supervisorctl:用于管理supervisor配置文件中program。
使用yum命令安装(需能外网访问)
# yum install epel-release# yum install -y supervisor# systemctl enable supervisord # 开机自启动# systemctl start supervisord # 启动supervisord服务# systemctl status supervisord # 查看supervisord服务状态# ps -ef|grep supervisord # 查看是否存在supervisord进程
配置Supervisor
#vi /etc/supervisord.d/tomcat8090.ini
[program:epms] ; 程序名称,在 supervisorctl 中通过这个值来对程序进行一系列的操作autorestart=True ; 程序异常退出后自动重启autostart=True ; 在 supervisord 启动的时候也自动启动startsecs=10 ; 启动10秒后没有异常退出,就表示进程正常启动了,默认为1秒priority=1 ; 进程启动优先级,默认999,值小的优先启动redirect_stderr=True ; 把 stderr 重定向到 stdout,默认 falsecommand=/home/tomcat8090/bin/catalina.sh run ; 启动命令,与手动在命令行启动的命令是一样的user=root ; 用哪个用户启动stdout_logfile_maxbytes=500MB ; stdout 日志文件大小,默认 50MBstdout_logfile_backups=20 ; stdout 日志文件备份数stdout_logfile = /home/tomcat8090/logs/catalina.out
配置如下:
重启supervisor
配置后需重启supervisor
#ps -ef|grep supervisor |grep -v 'grep' |awk '{print $2}'|xargs kill -9#supervisord -c /etc/supervisord.conf#supervisorsupervisor> status
测试过停止tomcat会自动拉起。
总结
最后有个小问题,如果不先停止所有管理进程,只是杀supervisor进程然后直接重启会产生多个管理进程,因为之前的tomcat进程是没有杀掉的,这时候看日志就会有端口冲突的问题了。
另外一个问题是一杀进程这个supervisor就自动重启tomcat了,那我之前写的自动部署tomcat脚本(每次杀掉进程替换文件)不就冲突了?这个问题还在考虑怎么解决中。
最后一个问题就是集群化管理了,如果有几百台服务器需要控制的话是可以考虑一下 supervisord-monitor这个集群化解决方案。
后面会分享更多devops和DBA方面的内容,感兴趣的朋友可以关注一下~
更多推荐
所有评论(0)