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. 关于http,测试面试官最爱问哪些?

    http和https的区别是什么? HTTP 是一种 超文本传输协议(Hypertext Transfer Protocol),而 HTTPS 的全称是 Hypertext Transfer Prot ...

  2. redis规范(实用)

    redis功能强大,数据类型丰富,再快的系统,也经不住疯狂的滥用.通过禁用部分高风险功能,并挂上开发的枷锁,业务更能够以简洁.通用的思想去考虑问题,而不是绑定在某种实现上. Redis 根据不同的用途 ...

  3. Windows 如何打开 .md 文件

    •问题 最近在学习[C++|黑马程序员],对于课堂笔记中的 .md 文档无从下手,要是直接通过 Chrome 打开排版又很乱,且不能正常显示URL中的内容: 这可如何是好??? •解决方案 1. 打开 ...

  4. 托管调试助手 "DisconnectedContext":“针对此 RuntimeCallableWrapper 向 COM 上下文 0xd47808 的转换失败,错误如下: 系统调用失败。

    参考资料 托管调试助手 "DisconnectedContext":"针对此 RuntimeCallableWrapper 向 COM 上下文 0xd47808 的转换失 ...

  5. 【编程教室】Python绘制冬奥吉祥物“冰墩墩”

    大家好,欢迎来到 Crossin的编程教室 ! 这两天,随着北京冬奥会的开幕,吉祥物"冰墩墩"可是火出了圈,多少人排长队都买不到.据说甚至有人把价格炒到了几千元. 就连昨天的&qu ...

  6. Kafka03--Kafka消费者使用方式

    前言 与生产者客户端一样,消费者端也由最初的scala版本过渡到现在的Java版本. 正常的消费者逻辑需要以下4个步骤: KafkaConsumer的客户端参数配置和对应实例: 订阅主题 拉取消息并消 ...

  7. Spring Boot 需要独立的容器运行吗?

    可以不需要,内置了 Tomcat/ Jetty 等容器.

  8. spring-boot-关于module自定义jar包打包无法给其他module使用

    ####世界大坑: 如果仅是使用 <build> <plugins> <plugin> <groupId>org.springframework.boo ...

  9. 阐述 final、finally、finalize 的区别?

    final:修饰符(关键字)有三种用法:如果一个类被声明为 final,意味 着它不能再派生出新的子类,即不能被继承,因此它和 abstract 是反义词.将 变量声明为 final,可以保证它们在使 ...

  10. Linux 网卡配置参数

    网卡配置文件位于 /etc/sysconfig/network-scripts/ 目录下 网卡配置文件在RHEL5/6以eth为网卡文件的前缀,在RHEL7中以ifcfg为网卡文件的前缀 配置 解释 ...