linux(centos)下安装supervisor进程管理工具
在接触supervisor进程管理工具之前,使用springboot打包部署到linux服务器的流程是这样子的,如下图所示:
上图展示的就是最一般的流程,如果项目是小项目或者demo可以这样子去部署,但是实际生产中会有各种各样的问题存在,比如:
- 项目发布之后,由于各种可能的原因,服务器宕机或者服务进程挂掉,不能自动重启;
- 如果项目是频繁更新,频繁发布,这样子简直会把人累死;
-
...
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工具之后,可以把自己解放出来,不用再担心深夜服务停掉而自己不知道的问题,由于服务器部署在阿里云上面,只要不是大规模断电等极其意外的情况,都可以保证在服务器不挂的情况下,保证系统的正常运转。
晚上终于可以安心睡觉了,下篇文章采用持续集成解决第二个问题。
上一篇: jquery动态加载js/css文件方法(自写小函数)
下一篇: 学到新技能
推荐阅读
-
Linux centos7 下安装 phpMyAdmin的教程
-
.Net Core 项目发布到Linux - CentOS 7(二)用Supervisor守护netcore进程
-
Linux Centos7.2下安装nodejs&npm配置全局路径的教程
-
centos的安装与配置,Linux下基本命令、权限控制,解压缩文件以及软件的安装与卸载
-
Linux(CentOS)环境下安装下载Nginx并配置
-
Linux下进程管理工具Supervisor的安装配置和基本使用
-
centos下yum搭建安装linux+apache+mysql+php环境教程
-
Linux centos7环境下MySQL安装教程
-
Linux系统(CentOS)下python2.7.10安装
-
Linux CentOS下安装Tomcat9及web项目的部署