Supervisor(http://supervisord.org/)是用Python开发的一个client/server服务,是Linux/Unix系统下的一个进程管理工具,不支持Windows系统。它可以很方便的监听、启动、停止、重启一个或多个进程。用Supervisor管理的进程,当一个进程意外被杀死,supervisort监听到进程死后,会自动将它重新拉起,很方便的做到进程自动恢复的功能,不再需要自己写shell脚本来控制。

接触到Supervisor,是因为将AspNet Core项目部署到CentOS时,执行dotnet XXX.dll后,项目是可以正常运行起来,但是Shell窗口关闭后项目就停了,后来就看到需要配置守护服务

1.安装Supervisor

yum install -y epel-release

  安装完成后,执行supervisord --version 会显示版本

2.设置Supervisor开机启动

systemctl enable supervisord
systemctl start supervisord

  不是root用户的话,命令前面记着加上sudo

3.创建配置文件

配置文件的路径为:/etc/supervisord.conf,执行 cat /etc/supervisord.conf,可以看到配置文件的指定目录为:

所以我们进到这个路径下创建配置文件

执行命令 vi webcore.ini会创建webcore.ini文件,然后输入下面的内容:

[program:webcore]
command=/usr/bin/dotnet WebCore.dll ; 输入执行命令,这里表示 dotnet WebCore.dll
directory=/home/www/XCJS-Test ; 应用程序根目
autostart=true ; 是否自动启动,当 supervisor 加载该配置文件的时候立即启动它
autorestart=true ; 是否自动重启,当执行 dotnet WebCore.dll 启动失败时,会重复的自动重启
logfile_maxbytes=50MB ; 该配置文件输出单个日志文件的大小
logfile_backups=10 ; 日志备份个数
loglevel=info ; 记录日志级别
stderr_logfile=/data/logs/webcore/webcore.err.log ; 指定标准错误输出日志文件
stdout_logfile=/data/logs/webcore/webcore.out.log ; 指定标准输出日志文件
environment=ASPNETCORE_ENVIRONMENT=Production ; 可配置环境变量,该环境变量将通过执行 dotnet WebCore.dll 命令>的时候传入到 .NET Core 应用程序中
user=root ;启动服务的用户
stopsignal=INT
redirect_stderr=true

  4.创建日志文件目录

mkdir -p /data/logs/webcore

  配置完成后,记着重启一下supervisor

systemctl restart supervisord

总结

安装Supervisor有很多种方法,这里暂时先只介绍了一种,后续会补充其它方法。

项目在运行的状态下,如果要更新一些东西,替换完后需要重启(systemctl restart supervisord)一下守护服务才会生效。

参考:

http://www.supervisord.org/introduction.html

https://www.cnblogs.com/viter/p/10441409.html

守护服务Supervisor的安装和使用的更多相关文章

  1. CentOS&.NET Core初试-4-安装守护服务(Supervisor)

    系列目录 CentOS的安装和网卡的配置 安装.NET Core SDK和发布网站 Nginx的安装和配置 安装守护服务(Supervisor) Supervisor是什么? Supervisor 是 ...

  2. VMware Workstation CentOS7 Linux 学习之路(4)--守护服务(Supervisor)

    目前存在三个问题 问题1:ASP.NET Core应用程序运行在shell之中,如果关闭shell则会发现ASP.NET Core应用被关闭,从而导致应用无法访问,这种情况当然是我们不想遇到的,而且生 ...

  3. 程序守护服务 Supervisor

    一.什么是Supervisor? Supervisor是用Python开发的一套通用的进程管理程序,能将一个普通的命令行进程变为后台daemon,并监控进程状态,异常退出时能自动重启.它是通过fork ...

  4. 2017-03-05 CentOS中配置守护服务(Supervisor)监听dotnet core web程序的运行

    我们继续解决上篇博客的问题,我这个人有个毛病,不喜欢遗留什么问题,也不喜欢问题说不明白,具体要怎么解决一定要详尽,因为经常自己遇到问题的时候,去翻别人的博客,就会遇到这样的问题,很苦恼,又说废话了. ...

  5. Supervisor的安装以及使用

    1.supervisor的介绍 Supervisor 是用Python开发的一个client/server服务,是Linux/Unix系统下的一个进程管理工具,不支持Windows系统,通过配置可以实 ...

  6. Linux Supervisor的安装与使用入门

    在linux或者unix操作系统中,守护进程(Daemon)是一种运行在后台的特殊进程,它独立于控制终端并且周期性的执行某种任务或等待处理某些发生的事件.由于在linux中,每个系统与用户进行交流的界 ...

  7. supervisor的安装部署及集群管理

    supervisor的安装部署及集群管理 supervisor官网:http://www.supervisord.org/ 参考链接: http://blog.csdn.net/xyang81/art ...

  8. Linux Supervisor的安装与使用入门---SuSE

    Linux Supervisor的安装与使用入门 在linux或者unix操作系统中,守护进程(Daemon)是一种运行在后台的特殊进程,它独立于控制终端并且周期性的执行某种任务或等待处理某些发生的事 ...

  9. Linux Supervisor的安装与使用入门---Ubuntun

    Linux Supervisor的安装与使用入门 在linux或者unix操作系统中,守护进程(Daemon)是一种运行在后台的特殊进程,它独立于控制终端并且周期性的执行某种任务或等待处理某些发生的事 ...

随机推荐

  1. [转发]Android视频技术探索之旅:美团外卖商家端的实践

    美团技术团队 2019-09-12 20:02:11 背景 2013年美团外卖成立,至今一直迅猛发展.随着外卖业务量级与日俱增,单一的文字和图片已无法满足商家的需求,商家迫切需要更丰富的商品描述手段吸 ...

  2. 【Linux】安装 node.js

    1.在 linux 上安装 node.js 有几种方式,这里 教的是最简单的一种,因为其他都比较坑. 2.先去 node.js 官网 获取到已经编译好的安装包的地址, 3.使用 wget 去下载上面获 ...

  3. linux Host key verification failed.错误

    Host key verification failed. 1. ssh-keygen -R 你要访问的IP地址 2. ssh-keygen -R 108.61.163.242

  4. linux中read,write和recv,send的区别

    linux中read,write和recv,send的区别 1.recv和send函数提供了和read和write差不多的功能.但是他们提供了第四个参数来控制读写操作. int recv(int so ...

  5. iptables之精髓(二)

    iptables实际操作 使用-v选项后,iptables为我们展示的信息更多了,那么,这些字段都是什么意思呢?我们来总结一下 pkts:对应规则匹配到的报文的个数. bytes:对应匹配到的报文包的 ...

  6. RocketMQ搭建-WEB集成RMQ-SE集成RMQ

    坑一 https://blog.csdn.net/c_yang13/article/details/76836753 JAVAWEB集成RMQ https://www.cnblogs.com/yun9 ...

  7. 如何设置payjs的微信jsapi支付目录

    首先你得是 payjs 的有效开通用户.不清楚 payjs 是干什么的可以自行百度. 设置方法非常简单,在后台菜单-系统设置-JSAPI目录设置,在右侧填写支付目录即可. 需要注意的是:支付目录需要配 ...

  8. [Paper Reading] Show, Attend and Tell: Neural Image Caption Generation with Visual Attention

    论文链接:https://arxiv.org/pdf/1502.03044.pdf 代码链接:https://github.com/kelvinxu/arctic-captions & htt ...

  9. kubernetes版本apiversion简单说明

    在使用yaml文件部署Deployment项目时,出现过 error: error validating "xx-Deployment.yaml": error validatin ...

  10. VSCode插件Prettier配置

    参考链接:https://blog.csdn.net/wengou3033/article/details/88749448 Prettier格式化配置