centos上安装supervisor来管理dotnetcore等应用程序
supervisor 介绍:
这是一款用python编写的进程管理工具,可以守护他管理的所有进程,防止异常退出,以及提供一个可视化的web界面来手动管理,打开关闭重启各种应用,界面如下:
关于在centos上安装supervisor:
1、通过yum安装:
yum install supervisor
2、配置supervisor:
我们去用vim编辑/etc/supervisord.conf这个文件,可以看到有很多选项
第一个节点是UnixSocket,是unix进程间通信的,默认开启,后面本机的supervisorctl可以通过他来连接到supervisord服务器
第二个节点是对外的Http服务,是对外开放的,主要给远程的supervisorctl或者客户浏览器访问,当然本机supervisorctl也可以使用http的方式来连接
第三个节点就是核心,supervisord服务,这个服务就是真正管理进程的worker,里面每个选项注释都有解释
第四个节点就是本机的客户端,supervisorctl,图中使用的是unixsocket来和supervisord通信的,我们可以使用一些命令来控制supervisord,比如supervisorctl reload//重新加载supervisord,也就是重启一把了,supervisorctl update 也就是更新配置信息,supervisorctl start {进程名称} 启动,supervisorctl stop {进程名称} 关闭,等等
首先,我们把supervisor服务启动起来:
supervisord -c /etc/supervisord.conf
这样就使用这个配置文件启动了supervisor服务,
这个时候我们可以通过9001端口访问下这个页面,就能看到一个没有任务列表的第一张图的页面
第一步完成,接下来我们跑个程序在里面
首先我们安装一把dotnetcore,
https://dotnet.github.io/ 这里有介绍,
然后我们创建一个core'程序,放到/service/helloword目录下
在dotnet编译一把,生成了一个一个dll文件
进到目录里 dotnet WebApplication1.dll
运行成功。然后我们打开supervisord.conf 继续配置,如图所示
主要有两个配置,一个directory和command,directory就是首先cd 这个directory,command就是执行这个命令,还有个environment,.net里面一般生产环境,开发环境,测试环境啥的就可以在这里配置
然后保存文件
reload一下supervisord
在打开浏览器,是不是发现多了一个running状态的helloworld程序?
在这里可以重启,关闭,tail-f查看实时日志信息
现在我们测试一下如果程序异常关闭之后会怎样,我们打开日志,然后到控制台下kill掉这个进程,会发现日志显示
是supervisord自动将其打开了,所以supervisord也是能够好好守护这个进程的,
因而我们可以考虑将.netcore程序部署到linux服务器上,并且使用supervisord来管理一把,从而也就相当于在windows上的服务了,而且还能实时监控运行状态,日志之类的,还能自由开关也是方便。
这个工具自然不仅仅是管理dotnetcore程序,其他很多程序都是可以管理的,但是有个需要注意的是被管理的程序必须已非deamon的方式运行,否则他没法准确捕捉到这个进程Id,而且捕捉到的进程id会在启动deamon的时候关闭掉
从而导致1、启动的时候认为启动成功了,但是完事了进程又退出了,他就认为异常退出,然后不断重新启动程序,2、自然也就没法控制啦
centos上安装supervisor来管理dotnetcore等应用程序的更多相关文章
- linux(centos)下安装supervisor进程管理工具
在接触supervisor进程管理工具之前,使用springboot打包部署到linux服务器的流程是这样子的,如下图所示: 上图展示的就是最一般的流程,如果项目是小项目或者demo可以这样子去部署, ...
- NoSql1 在Linux(CentOS)上安装memcached及使用
前言: 今天是初五,生活基本要从过年的节奏中回归到正常的生活了,所以想想也该想想与工作有关的事情了.我之前在工作中会经常使用memcached和redis,但是自己一直没有时间系统的好好看 ...
- 在CentOS上安装rabbitmq-server
***在 CentOS 6.4上安装python*** 注意啊,自己手动安装python2.7.5,不要动系统上面其他的版本 1,先安装GCC,用如下命令yum install gcc gcc-c++ ...
- 在Centos上安装RabbitMQ流程(转)
在Centos上安装RabbitMQ流程------------------------ 1. 需求 由于项目中要用到消息队列,经过ActiveMQ与RabbitMQ的比较,最终选择了RabbbitM ...
- Linux系统入门学习:在CentOS上安装phpMyAdmin
问题:我正在CentOS上运行一个MySQL/MariaDB服务,并且我想要通过网络接口来用phpMyAdmin来管理数据库.在CentOS上安装phpMyAdmin的最佳方法是什么? phpMyAd ...
- 在 CentOS 上安装和配置 OpenNebula
转自:http://www.aikaiyuan.com/4889.html 我们提到的云计算一般有三种类型:软件即服务(Software as a Service, SaaS),平台即服务(Platf ...
- CentOS上安装GitBlit服务
简单介绍 在上一篇文章中,已经简单的介绍了如何在CentOS的服务器上搭建git服务器.但是这种方式实现的服务器功能比较弱,操作起来也比较繁琐.在网上搜索了一圈,感觉Gitblit比较符合我的需求.接 ...
- centos上安装python环境
1.安装python-pip 首先安装epel扩展源: yum -y install epel-release 更新完成之后,安装pip: yum -y install python- ...
- 在Ubuntu|CentOS上安装Shutter截图工具及快捷键设置
简介 Shutter前身叫GScrot,它是一款相当棒的截图软件. 通过Shutter,你可以截取包括选定区域.全屏幕.窗口.窗口内的控件甚至网页的图像.通过内置的强大插件机制,你可以在截图后,对图像 ...
随机推荐
- Python学习系列之异常处理
什么是异常处理 python内置了一套try···except···finally的错误处理机制 当程序出错的时候进行捕捉,然后根据捕捉到的错误信息进行响相应的处理 常用的内建异常 初识异常处理 如例 ...
- 关于Windows 8使用WMP播放音乐时WUDFHost跑CPU和硬盘的问题解决
Windows 8使用Windows Media Player播放音乐的时候.事实上有一个这种情况,WMP和某个什么名字看起来非常屌的进程跑CPU非常高,这个跑非常高视你插入的SD卡内的文件数或者移动 ...
- nodejs参考文章
http://www.cnblogs.com/lily1010/p/6683987.html https://manlili.github.io/2015/04/06/Node%E5%85%A5%E9 ...
- Mahout贝叶斯算法拓展篇3---分类无标签数据
代码測试环境:Hadoop2.4+Mahout1.0 前面博客:mahout贝叶斯算法开发思路(拓展篇)1和mahout贝叶斯算法开发思路(拓展篇)2 分析了Mahout中贝叶斯算法针对数值型数据的处 ...
- CI知识:GitLab
Gitlab简介 GitLab 是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的web服务. 可通过Web界面进行访问公开的或者私人项目.它拥有与Github类似的 ...
- Mariadb 索引及外键
索引 索引相当于一本书的目录,在一个数据库或表有索引的情况下,会很便于查询数据,使查询更加效率,相对的也有缺点,不利于去修改,比较麻烦,有索引便于查询,那就意味着索引创建的越多越好么?然而并不是:索引 ...
- python内置全局变量
vars()查看内置全局变量 以字典方式返回内置全局变量 #!/usr/bin/env python # -*- coding:utf8 -*- print(vars()) #输出 # {'__bui ...
- C语言之基本算法21—可逆素数
/* ================================================================== 题目:可逆素数是指一个数是素数,逆序后还是素数,如ABC是素 ...
- SSL和SSH的差别
有人说,SSH通常是用来提供安全的登录用的.SSL仅仅是一个在协议层中增加的一层用来提供安全. SSH工作在TCP之上,能够在启动一个SSH应用后.在其通道里执行其他协议的应用.如邮件. ...
- 在js中取选中的radio值
在js中取选中的radio值 <input type="radio" name="address" value="0" /> & ...