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工具之后,可以把自己解放出来,不用再担心深夜服务停掉而自己不知道的问题,由于服务器部署在阿里云上面,只要不是大规模断电等极其意外的情况,都可以保证在服务器不挂的情况下,保证系统的正常运转。
晚上终于可以安心睡觉了,下篇文章采用持续集成解决第二个问题。
linux(centos)下安装supervisor进程管理工具的更多相关文章
- 【htop】Linux CentOS 6.5下安装htop进程管理工具
一.Htop的使用简介 This is htop, an interactive process viewer for Linux. It is a text-mode application (fo ...
- Linux环境下搭建禅道管理工具-包含软件资源
Linux环境下搭建禅道管理工具 1:百度云盘下载: 禅道--链接: https://pan.baidu.com/s/1Stu7nOZVIPO5TnpJWjWtiQ 提取码:dnik CentOs操 ...
- Supervisor 进程管理工具
简介: Supervisor 进程管理工具 一.安装 shell > yum -y install python-pip shell > pip install supervisor # ...
- Linux(CentOs)下安装Phantomjs + Casperjs
Linux(CentOs)下安装Phantomjs + Casperjs 是参照cnMiss's Blog http://ju.outofmemory.cn/entry/70691的博客进行安装的 1 ...
- linux/centos下安装nginx(rpm安装和源码安装)详细步骤
Centos下安装nginx rpm包 ...
- Linux CentOS下安装Tomcat9
本文讲解在Linux CentOS下安装Tomcat9,以及Web项目的部署发布. 环境:阿里云ECS 云服务器Linux CentOS 使用XShell客户端连接服务器,进行操作实践. 1.下载To ...
- centos上安装supervisor来管理dotnetcore等应用程序
supervisor 介绍: 这是一款用python编写的进程管理工具,可以守护他管理的所有进程,防止异常退出,以及提供一个可视化的web界面来手动管理,打开关闭重启各种应用,界面如下: 关于在cen ...
- supervisor进程管理工具的使用
supervisor是一款进程管理工具,当想让应用随着开机启动,或者在应用崩溃之后自启动的时候,supervisor就派上了用场. 广泛应用于服务器中,用于引导控制程序的启动 安装好superviso ...
- [Linux]CentOS下安装和使用tmux
前天随意点开博客园,看到了一篇关于tmux的文章 Tmux - Linux从业者必备利器,特意还点进去看了.毕竟Linux对于做游戏服务端开发的我来说,太熟悉不过了.不过我就粗略地看了一眼,就关掉了. ...
随机推荐
- EasyNetQ使用(九)【非泛型的发布&订阅扩展方法,发生错误的情况 】
自从EasyNetQ第一个版本开始,它就可以发布/订阅特定类型的消息. bus.Subscribe<MyMessage>("subscriptionId", x =&g ...
- spacemacs:emacs和vim结合,大杀器。vim党转emacs
结合本人基础,做下述结论.不一定准确. 基础: 1. vim操作和高级操作,熟悉.使用的spf13-vim. 2. emacs以前学过,但是按键太累,相比vim简直难受. 3. emacs命令 ...
- 这一次,真正掌握composer
思维导图 composer是现代PHP的基石 现代高级编程语言,依赖管理工具是必不可少的.Java有Maven,Python有pip,Nodejs有npm, 而在composer出现之前,PHP只 ...
- 【C/C++开发】C++实现简单的线程类
C++封装一个简单的线程类 多线程编程简介: 大家在编程时,经常需要在程序中启动一个或多个线程来处理任务,而如果每次都是去调用系统创建线程的API函数来创建,代码量虽不多,但线程的创建和业务逻辑代码就 ...
- 【持续集成】jenkins安装部署从git获取代码
一:持续集成的概念: 1.1:总体的概括 持续集成Continuous Integration 持续交付Continuous Delivery 持续部署Continuous Deployment 1. ...
- 封装一个Model或者Vender类
Model <?php /** * User: Eden * Date: 2019/3/21 * 共有内容 */ class WxPayModel extends Model { protect ...
- Airflow怎么删除系统自带的DAG任务
点击这个按钮 找到dag文件所在路径,并进入路径将其文件删除即可
- PHP替换HTML文件中所有a标签的HREF属性,其他不变
转载出处:http://www.luanxin.top/index.php/archives/21/ 仿站的时候扒下来的代码a链接总是指向别的地方,要一个一个改的话都要累死了,展示的时候随便点一下就乱 ...
- python中append、extend、和insert的区别
a_list = [x for x in range(1, 11)] print(a_list) a_list.append('sdadfewf') # 将整个字符串放到列表的最后 print(a_l ...
- k8s-gitlab搭建
Gitlab官方提供了 Helm 的方式在 Kubernetes 集群中来快速安装,但是在使用的过程中发现 Helm 提供的 Chart 包中有很多其他额外的配置,所以我们这里使用自定义的方式来安装, ...