美文网首页
linux(centos)下安装supervisor进程管理工具

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

作者: 史迪奇Aloha | 来源:发表于2019-05-01 23:56 被阅读0次

    在接触supervisor进程管理工具之前,使用springboot打包部署到linux服务器的流程是这样子的,如下图所示:


    流程展示

    上图展示的就是最一般的流程,如果项目是小项目或者demo可以这样子去部署,但是实际生产中会有各种各样的问题存在,比如:

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

    supervisor介绍

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

    supervisor安装

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

    yum -y install  supervisor
    

    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=root 
    stopsignal=INT
    #自动启动
    autostart=true 
    #自动重启
    autorestart=true 
    #重启时间1s
    startsecs=1 
    #错误日志
    stderr_logfile=/app/log/sp/test.err.log 
    #标准打印日志,满50MB区分
    stdout_logfile=/app/log/sp/test.out.log 
    

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

    supervisor启动

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

    # 启动supervisor
    systemctl  start supervisord
    # 更新配置文件
    supervisorctl  update
    # 启动某个应用
    supervisorctl  start aaaa
    supervisorctl  stop aaaa
    # 查看状态
    supervisorctl   status
    

    总结

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

    相关文章

      网友评论

          本文标题:linux(centos)下安装supervisor进程管理工具

          本文链接:https://www.haomeiwen.com/subject/vtrgnqtx.html