linux(centos)下安装supervisor进程管理工具

在接触supervisor进程管理工具之前,使用springboot打包部署到linux服务器的流程是这样子的,如下图所示:
流程展示
上图展示的就是最一般的流程,如果项目是小项目或者demo可以这样子去部署,但是实际生产中会有各种各样的问题存在,比如:

  1. 项目发布之后,由于各种可能的原因,服务器宕机或者服务进程挂掉,不能自动重启;
  2. 如果项目是频繁更新,频繁发布,这样子简直会把人累死;
  3. ...
    ok,今天先来解决第一个问题,服务重启的问题。

supervisor介绍

Supervisor,是一个进程控制系统,是一个客户端/服务器端系统允许用户在UNIX-LIKE 操作系统中去监控,控制一些进程。Supervisor作为主进程,Supervisor下管理的时一些子进程,当某一个子进程异常退出时,Supervisor会立马对此做处理,通常会守护进程,重启该进程,保证进程可用。

supervisor安装

一般服务器都部署在ecs上面,推荐使用yum命令安装,简单省心。
首先,使用命令

yum-yinstallsupervisor

supervisor配置

系统会自动安装,等待安装完毕之后,输入命令:

vim/etc/supervisor.d/test.ini

使用vim命令新建一个test.ini文件,该文件是管控进程的配置文件,内容大致如下,可根据个人需要增删配置:

#启动程序的名称[program:test]#配置的java启动环境environment=JAVA_HOME=/app/jdk/jdk1/bin#启动命令command=/app/jdk/jdk1/bin/java-Xms2048m-Xmx4096m-Dspring.profiles.active=dev-Dserver.port=8080-jar/app/jar/test.jar#jar所在文件目录directory=/app/jar#用户user=rootstopsignal=INT#自动启动autostart=true#自动重启autorestart=true#重启时间1sstartsecs=1#错误日志stderr_logfile=/app/log/sp/test.err.log#标准打印日志,满50MB区分stdout_logfile=/app/log/sp/test.out.log

至此,supervisor配置结束,如果有多个jar项目要跑,可以复制多个ini项目,注意内存分配。

supervisor启动

使用如下命令来启动或者更新supervisor,

#启动supervisorsystemctlstartsupervisord#更新配置文件supervisorctlupdate#启动某个应用supervisorctlstartaaaasupervisorctlstopaaaa#查看状态supervisorctlstatus

总结

使用supervisor工具之后,可以把自己解放出来,不用再担心深夜服务停掉而自己不知道的问题,由于服务器部署在阿里云上面,只要不是大规模断电等极其意外的情况,都可以保证在服务器不挂的情况下,保证系统的正常运转。
晚上终于可以安心睡觉了,下篇文章采用持续集成解决第二个问题。


更多相关文章

  1. 6.)PHPWeb开发框架~laravel几种启动方式介绍
  2. Windows任务管理器远比想象中的复杂
  3. 云计算时代,容器底层cgroup如何实现资源分组?
  4. 项目启动大会,数据治理项目不容忽视的关键节点
  5. 【线上沙龙直播报名】App 启动流程详解及其优化
  6. Mac mini M1上成功启动Ubuntu
  7. Docker-LinuxKit搭建及使用场景分析
  8. WEB请求处理(2):Nginx 请求反向代理
  9. SQL执行过程详解

随机推荐

  1. 理想中的职业自由,却不那么理想
  2. Python之父-Guido van Rossum
  3. 不会CSS的痛
  4. C语言复习(一)
  5. Mac版本的Sublime Text常用快捷键
  6. 从零开始开发、运营小程序的5点感受
  7. Java知识体系、面试、算法、微服务的学习
  8. 十道算法题[二]
  9. Java8如何让自己的代码不那么啰嗦?!
  10. 《Head First Servlets and JSP 2nd Edit