1、执行下列命令安装supervisor

wget https://mirrors.tuna.tsinghua.edu.cn/epel/epel-release-latest-7.noarch.rpm

rpm -ivh epel-release-latest-7.noarch.rpm

yum install supervisor -y

2、安装完成之后,我们到配置目录去添加两个配置文件,文件名可以自定义 ,因为我要部署webUI和webAPI两个应用程序,所以新建了两个配置文件:

cd /etc/supervisord.d

vi WebApplication.WebUI.ini

vi WebApplication.WebAPI.ini
WebApplication.WebUI.ini配置文件
# 冒号后面为应用名称
[program:WebApplication.WebUI]
# 应用启动命令,需要dotnet的完整路径
command=dotnet WebApplication.WebUI.dll --urls http://0.0.0.0:8888
# 进程名称
process_name=%(program_name)s
# 应用启动的目录,否则应用会报找不到文件的错误
directory=/data/apps/WebApplication.WebUI/
# .net core 应用环境变量,表明是哪个环境
environment=ASPNETCORE_ENVIRONMENT=Development
# 执行用户
user=root
stopsignal=INT
# 掉线是否自动重启
autostart=true
autorestart=true
startsecs=3
priority=1
# 日志输出路径,该路径自定义(路径不存在需要手动创建文件目录)
stderr_logfile=/data/logs/supervisor/log/%(program_name)s_error.log
stderr_logfile_maxbytes=50MB
stderr_logfile_backups=10
# 日志输出路径,该路径自定义(路径不存在需要手动创建文件目录)
stdout_logfile=/data/logs/supervisor/log/%(program_name)s_error.log
stdout_logfile_maxbytes=50MB
stdout_logfile_backups=10
WebApplication.WebAPI.ini配置文件
# 冒号后面为应用名称
[program:WebApplication.WebAPI]
# 应用启动命令,需要dotnet的完整路径
command=dotnet WebApplication.WebAPI.dll --urls http://0.0.0.0:7777
# 进程名称
process_name=%(program_name)s
# 应用启动的目录,否则应用会报找不到文件的错误
directory=/data/apps/WebApplication.WebAPI/
# .net core 应用环境变量,表明是哪个环境
environment=ASPNETCORE_ENVIRONMENT=Development
# 执行用户
user=root
stopsignal=INT
# 掉线是否自动重启
autostart=true
autorestart=true startsecs=3
priority=1
# 日志输出路径,该路径自定义(路径不存在需要手动创建文件目录)
stderr_logfile=/data/logs/supervisor/log/%(program_name)s_error.log
stderr_logfile_maxbytes=50MB
stderr_logfile_backups=10
# 日志输出路径,该路径自定义(路径不存在需要手动创建文件目录)
stdout_logfile=/data/logs/supervisor/log/%(program_name)s_error.log
stdout_logfile_maxbytes=50MB
stdout_logfile_backups=10

3、启动Supervisor

注意:WebApplication.WebUI和WebApplication.WebAPI 应用程序需要放在对应目录下/data/apps
# 启动Supervisor
supervisord -c /etc/supervisord.conf
#查看状态
supervisorctl status # 防火墙开放端口(作者两个应用端口号分别是7777、8888)
firewall-cmd --add-port=8888/tcp --permanent
firewall-cmd --add-port=7777/tcp --permanent
 

4、Supervisor 后台管理页面设置

vi /etc/supervisord.conf

取消截图部分注释

访问supervsior 后台管理页面,http://192.168.140.129:9001/

5、bash终端控制

#启动Supervisor
supervisord -c /etc/supervisor/supervisord.conf
# 查看状态
supervisorctl status
# 停止某个服务
supervisorctl stop WebApplication1
# 停止所有服务
supervisorctl stop all
# 开始某个服务
supervisorctl start WebApplication1
# 开始所有服务
supervisorctl start all
# 重启某个服务
supervisorctl restart WebApplication1
# 重启所有服务
supervisorctl restart all
# 重启Supervisor
supervisorctl reload
# 修改Supervisor
supervisorctl update

6、将supervsior 配置设置为开机自启动服务

# 编辑服务文件
vi /usr/lib/systemd/system/supervisord.service
# 内容
[Unit]
Description=Supervisor
[Service]
Type=forking
PIDFile=/var/run/supervisord.pid
ExecStart=/usr/bin/supervisord -c /etc/supervisord.conf
ExecStop=/usr/bin/supervisorctl shutdown
ExecReload=/usr/bin/supervisorctl reload
KillMode=process
Restart=on-failure
RestartSec=42s
[Install]
WantedBy=multi-user.target
# 启动服务
systemctl enable supervisord
# 验证是否为开机自启动
systemctl is-enabled supervisord

7、supervisord操作命令

# 停止
systemctl stop supervisord
# 启动
systemctl start supervisord
# 状态
systemctl status supervisord
# 重载
systemctl reload supervisord
# 重启
systemctl restart supervisord

友情链接:

https://www.cnblogs.com/chenxi001/p/13614831.html

https://www.jianshu.com/p/9d3b993556b2


 

.Net Core 进程守护之Supervisor使用的更多相关文章

  1. .NET Core项目部署到Linux(Centos7)(八)为.NET Core项目创建Supervisor进程守护监控

    目录 1.前言 2.环境和软件的准备 3.创建.NET Core API项目 4.VMware Workstation虚拟机及Centos 7安装 5.Centos 7安装.NET Core环境 6. ...

  2. ASP.NET Core教程:使用Supervisor做ASP.NET Core应用程序守护进程

    一.前言 在上一篇文章中,我们讲解了如何在Linux服务器上面部署ASP.NET Core应用程序,并且使用Nginx作为反向代理.我们在Linux服务器上面,是通过ASP.NET Core自宿主的方 ...

  3. Centos 7 .Net core后台守护进程Supervisor配置

    环境: Centos 7 已安装.Net core 2.0.0  .Net core 1.1.2 1.Supervisor安装 yum 安装 yum install supervisor (阿里云验证 ...

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

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

  5. 用Supervisor实现进程守护,在异常退出时自动重启

    程序启动后,有些是以daemon的形式运行,但在意外退出后,如果不能及时重新启动,会有比较严重的影响. 比如Zimg在图片处理中由于某些图片处理失败,会导致zimg进程挂掉,影响正常的服务提供,并且只 ...

  6. 守护服务Supervisor的安装和使用

    Supervisor(http://supervisord.org/)是用Python开发的一个client/server服务,是Linux/Unix系统下的一个进程管理工具,不支持Windows系统 ...

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

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

  8. Android 保持Service不被Kill掉的方法--双Service守护 && Android实现双进程守护

    本文分为两个部分,第一部分为双Service守护,第二部分为双进程守护 第一部分: 一.Service简介:Java.lang.Object ↳Android.content.Context  ↳an ...

  9. Android实现双进程守护 (转)

    做过android开发的人应该都知道应用会在系统资源匮乏的情况下被系统杀死!当后台的应用被系统回收之后,如何重新恢复它呢?网上对此问题有很多的讨论.这里先总结一下网上流传的各种解决方案,看看这些办法是 ...

随机推荐

  1. 采用 DIV+CSS 布局网页练习

    实验四:采用 DIV+CSS 布局网页练习 实验目的: 熟悉 DIV+CSS 布局网页的方法 实验要求: 1.制作一个完整网页和一个 css 文件: 2.在网页中采用 DIV+CSS 布局 4 个以上 ...

  2. Golang 数据结构

    每种语言在实现数据结构有些许不同.go 是如何实现的呢? 1. 数组 Array go 中数组是相同的元素组成的集合,计算机会为数组分配一段连续的内存来保存元素,可以利用索引快速访问元素. go 中数 ...

  3. 分享一些阅读Java相关框架源码的经验

    昨天和部分网友进行了线上的交流,交流中有不少网友提到阅读源码比较难,不知道怎么上手.胖哥分享了一些个人经验,这里总结一下. 阅读源码实际上是Debug源码 其实所谓的阅读源码并不是单纯的阅读,而是调试 ...

  4. redis.conf配置信息详解

    redis.conf配置信息详解 配置文件 # Redis 配置文件 # 当配置中需要配置内存大小时,可以使用 1k, 5GB, 4M 等类似的格式,其转换方式如下(不区分大小写) # # 1k =& ...

  5. BeanFactory – BeanFactory 实现举例?

    Bean 工厂是工厂模式的一个实现,提供了控制反转功能,用来把应用的配置和依赖从正真的应用代码中分离. 最常用的BeanFactory 实现是XmlBeanFactory 类.

  6. Kafka 的设计架构你知道吗?

    Producer :消息生产者,就是向 kafka broker 发消息的客户端. Consumer :消息消费者,向 kafka broker 取消息的客户端. Topic :可以理解为一个队列,一 ...

  7. Mybatis框架基础入门(三)--Mapper动态代理方式开发

    使用MyBatis开发Dao,通常有两个方法,即原始Dao开发方法和Mapper动态代理开发方法. 原始Dao开发方法需要程序员编写Dao接口和Dao实现类,此方式开发Dao,存在以下问题: Dao方 ...

  8. 为什么要配置JDK环境变量?

    1. PATH环境变量.作用是指定命令搜索路径,在shell下面执行命令时,它会到PATH变量所指定的路径中查找看是否能找到相应的命令程序.我们需要把 jdk安装目录下的bin目录增加到现有的PATH ...

  9. SpringBoot使用JdbcTemplate批量保存

    @Autowired DataSourceProperties dataSourceProperties; @Autowired ApplicationContext applicationConte ...

  10. C++面试问题汇总

    作者:勿忘心安~~链接:https://www.nowcoder.com/discuss/197611来源:牛客网 1 C++基础: (1)多态是怎么样的?写个样例? https://www.cnbl ...