.Net Core跨平台部署系列(一)-Supervisor(一)部署

6 篇文章 0 订阅
1 篇文章 0 订阅

.Net Core跨平台部署系列(一)-Supervisor(一)安装

下一篇: .Net Core跨平台部署系列(一)-Supervisor(二)部署.net core

一、 介绍

1.1 什么是Supervisor?

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

1.2 为什么要用Supervisor?

1. 我们都知道.net core是内置了一个Kestrel的,可以替代IIS.让我们的部署可以跨平台.
2. 但是如果脱离了IIS,我们想要将.net core部署在linux上的话,我们就只能使用dotnet run 这样的命令来启动
3. 这样的情况下会有什么劣势呢?
	3.1 如果我们的程序始终正常运行,并且服务器也正常,那么当然不会有啥问题
	3.2 假设我们的程序出了异常,导致程序崩溃退出了.那么我们的服务是不是就停掉了?
	3.3 或者说服务器的内存不够了,强行把我们的.net core程序杀掉了,这个是系统级别的问题
	3.4 或者说如果linux的服务器断电或因为其他原因重启了的话,我们的程序都会宕掉
4. 在上述等情况下,一旦.net core程序被杀掉或被动停止,对我们的业务来说是非常致命的.
5. 那么我们就需要一个工具来帮助我们管理、监控我们的服务,并帮助我们自动的重启服务.这个就是Supervisor.

二、 部署

2.1 安装epel-release

  1. yum install epel-release
  2. 因为官方的仓库可能资源比较少,某些情况下找不到Supervisor的包.
  3. epel-release相当于一个第三方的资源包

2.2 安装Supervisor

  1. yum install supervisor
  2. 安装好了之后会在 /etc/目录下生成supervisord.conf文件
  3. 并且还会生成一个/etc/supervisord.d/的目录

2.3 修改配置文件

  1. 因为Supervisor是自带一个web管理界面的,所以我们在启动之前需要定一下配置
  2. vim /etc/supervisord.conf
    在这里插入图片描述
    在这里插入图片描述
  3. 如果你们的地址要非内网级别使用,注意白名单的配置.

2.3 启动

  1. systemctl start supervisord //启动
  2. systemctl status supervisord //查看状态

在这里插入图片描述

  1. 此时我们可以输入刚刚配置的url来检查一下是否正常,出现下图就表示成功了

在这里插入图片描述

三、 总结

1. 本文博主介绍了如何安装Supervisor,这个工具是个非常实用的工具.
2. 后续博主会介绍如何部署.net core应用
3. 如有不对欢迎指正,希望能帮到大家
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在CentOS上部署.NET Core项目的两种常见方式是使用 nohup 和 supervisor。 1. 使用 nohup nohup 是一个命令,可以在后台运行一个命令,不受终端退出的影响。使用 nohup 部署.NET Core项目,可以在后台运行程序,并且在服务器重启后自动启动。 使用 nohup 部署.NET Core项目的步骤如下: 1. 在服务器上安装.NET Core运行时和SDK。 2. 在服务器上创建一个目录,将编译好的.NET Core项目拷贝到该目录下。 3. 使用 nohup 命令运行.NET Core程序,例如: ``` nohup dotnet /path/to/your/project.dll & ``` 4. 程序将在后台运行,并且不受终端退出的影响。 2. 使用 supervisor supervisor 是一个进程管理工具,可以在后台管理进程,并且在服务器重启后自动启动。使用 supervisor 部署.NET Core项目,可以更方便地管理和监控程序。 使用 supervisor 部署.NET Core项目的步骤如下: 1. 在服务器上安装.NET Core运行时和SDK。 2. 在服务器上安装 supervisor,例如: ``` sudo yum install supervisor ``` 3. 创建一个 supervisor 配置文件,例如: ``` sudo nano /etc/supervisord.d/myproject.ini ``` 在文件中添加以下内容: ``` [program:myproject] command=/usr/bin/dotnet /path/to/your/project.dll directory=/path/to/your/project autostart=true autorestart=true stderr_logfile=/var/log/myproject.err.log stdout_logfile=/var/log/myproject.out.log ``` 4. 重新加载 supervisor 配置文件,例如: ``` sudo supervisorctl reread sudo supervisorctl update ``` 5. 启动.NET Core程序,例如: ``` sudo supervisorctl start myproject ``` 6. 程序将在后台运行,并且由 supervisor 管理。可以使用 supervisorctl 命令来管理程序,例如: ``` sudo supervisorctl stop myproject sudo supervisorctl start myproject sudo supervisorctl restart myproject sudo supervisorctl status myproject ``` 以上是使用 nohup 和 supervisor 两种方式在 CentOS 上部署.NET Core项目的方法。使用 supervisor 可以更方便地管理程序,但需要安装额外的工具。使用 nohup 可以更简单地启动程序,但需要手动管理进程。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值