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. 【Vulnhub靶场】RED: 1

    环境准备 下载靶机导入到vmware 但是获取不到地址,可以根据我博客里的方法修改网卡来获取IP地址 信息收集 我们改好网卡之后,我们使用arp-scan命令来探测靶机的IP地址 靶机IP地址为:19 ...

  2. 不借助 Docker Desktop 在Mac上开发容器应用

    镜像下载.域名解析.时间同步请点击 阿里巴巴开源镜像站 Docker Desktop是最为流行的开发者工具,Docker公司在 8/31 宣布对Docker Desktop的用户协议进行了变更,对个人 ...

  3. 实习项目1-串口IP升级调试

    设计目标:设计一个串口IP,要求1:输入时钟频率任意,如0-400M时钟频率:要求2:波特率超过常见的115200,要求达到4M. 设计核心思路:波特率计算公式,divp10x = (10 * fsy ...

  4. I 安装饮水机 中国石油大学新生训练赛#10

    问题 I: 安装饮水机 时间限制: 1 Sec  内存限制: 128 MB提交 状态 题目描述 为倡导城市低碳生活,市文明办计划举办马拉松比赛,为确保比赛安全,沿途设置了一些观察点.每个观察点派一个观 ...

  5. Github使用指南(学习中随时更新)

    注册好一个账号后先创建一个仓库 点击"Create repository"创建一个版本库 填好带*号的必填项,选择是要公开仓库还是私人使用,勾选自动添加README选项 READM ...

  6. Minikube使用文档

    最近在参与社区flink-operator的开发,开发的过程中经常使用到minikube来本地验证这篇文章记录下相关使用 安装 https://minikube.sigs.k8s.io/docs/st ...

  7. lombok的@builder 不能新建DO对象 Lombok存在的一些问题

    1. 实体类加上 lombok的@builder之后  就不能新建对象了,,,构造函数被覆盖了? 加上两个标签之后解决 2.Lombok存在的一些问题 lombok问题 @Builder和@NoArg ...

  8. HTTP1.0和HTTP1.1和HTTP2.0的区别

    1 HTTP1.0和HTTP1.1的区别1.1 长连接(Persistent Connection)       HTTP1.1支持长连接和请求的流水线处理,在一个TCP连接上可以传送多个HTTP请求 ...

  9. spring-boot-learning-Web开发知识

    1).创建SpringBoot应用,选中我们需要的模块: 2).SpringBoot已经默认将这些场景配置好了,只需要在配置文件中指定少量配置就可以运行起来 3).自己编写业务代码: 文件名的功能 x ...

  10. Zookeeper 保证了如下分布式一致性特性?

    1.顺序一致性 2.原子性 3.单一视图 4.可靠性 5.实时性(最终一致性) 客户端的读请求可以被集群中的任意一台机器处理,如果读请求在节点上注册了 监听器,这个监听器也是由所连接的 zookeep ...