ASP.NET Core 发布 centos7 配置守护进程

ASP.NET Core应用程序发布linux在shell中运行是正常的。可一但shell关闭网站也就关闭了,所以要配置守护进程, 用的是Supervisor,本文主要记录配置的过程和过程遇到的问题

安装Supervisor

1  yum install python-setuptools

2   easy_install supervisor

配置Supervisor

 3  mkdir /etc/supervisor

4  echo_supervisord_conf > /etc/supervisor/supervisord.conf

5 上面语句执行完后就能在/etc/supervisor 文件夹下找到文件 supervisord.conf 如图

下面我们要将文件的结尾部分替换掉以便后面能读取到我们的配置文件

在文件的结尾找到以下

;[include];files = relative/directory/*.ini

将代码替换为如下,注意前后不能带 ;和空格符号

[include]files = conf.d/*.conf

6 进入目录 /etc/supervisor/ 新建 conf.d文件夹,conf.d文件夹下新建 myproject.conf文件

具体内容如下,注意命令执行的目录要写你项目文件所在的目录,两个日志文件的名称最好也统一改一下

[program:myproject]
command=dotnet myproject.dll ; 运行程序的命令
directory=/root/mypro/ ; 命令执行的目录
autorestart=true ; 程序意外退出是否自动重启
stderr_logfile=/var/log/myproject.err.log ; 错误日志文件
stdout_logfile=/var/log/myproject.out.log ; 输出日志文件
environment=ASPNETCORE_ENVIRONMENT=Production ; 进程环境变量
user=root ; 进程执行的用户身份
stopsignal=INT

  

运行supervisord并查看

7  supervisord -c /etc/supervisor/supervisord.conf

8  ps -ef | grep myproject  # 这行命令是查看有关myproject的所有进程 ,【注意】myproject是上面 program:myproject 的命名 ,如果你看到如下图 ,说明运行成功,如果没有成功可以看上面配置的那个错误日志文件

9  supervisorctl reload  #最后重新载入配置

下面整理一些关于 Supervisor 的命令 ,参考链接https://segmentfault.com

命令 说明
supervisord 初始启动Supervisord,启动、管理配置中设置的进程
supervisorctl stop myproject 停止某一个进程(programxxx),programxxx为[program:chatdemon]里配置的值,这个示例就是chatdemon
supervisorctl start myproject 启动某个进程
supervisorctl restart myproject 重启某个进程
supervisorctl stop groupworker 重启所有属于名为groupworker这个分组的进程(start,restart同理)
supervisorctl stop all 停止全部进程,注:start、restart、stop都不会载入最新的配置文件
supervisorctl reload 载入最新的配置文件,停止原有进程并按新的配置启动、管理所有进程
supervisorctl update 根据最新的配置文件,启动新配置或有改动的进程,配置没有改动的进程不会受影响而重启。注意:显示用stop停止掉的进程,用reload或者update都不会自动重启

温馨提示:如果要结束某个守护进程,我们可以 ps -ef | grep supervisord 查出所有守护进程相关的进程

然后再用  kill -9 pid   结束进程

详细参考: http://www.cnblogs.com/zhaopei/p/netcore.html

本文永久更新地址:http://siyouku.cn/article/6861.html

asp.net core 开发框架:https://github.com/2014fighting/CodeFrame.Web.git

时间: 2024-10-14 09:36:35

ASP.NET Core 发布 centos7 配置守护进程的相关文章

ASP.NET Core 发布至Linux生产环境 Ubuntu 系统

ASP.NET Core 发布至Linux生产环境 Ubuntu 系统,之前跟大家讲解了 dotnet publish 发布,而没有将整个系统串起来. 今天就跟大家综合的讲一下ASP.NET Core发布至Linux生产环境. 开发及发布环境:WIN10 x64  生产Linux环境:Ubuntu 14.04 发布的示例代码: https://github.com/linezero/NETCoreBBS 代码下载下来,首先请注释 Program.cs 中 .UseUrls("http://*:8

ASP.NET Core 发布

ASP.NET Core 发布,asp.netcore发布 第一步:运行 dotnet restore 命令,以还原项目中指定的依赖项 dotnet restore 第二步:使用 dotnet build 命令为目标平台上的应用创建调试版本. 如果不指定想要生成的运行时标识符,则 dotnet build 命令将会创建仅适用于当前系统运行时 ID 的版本. 可使用以下命令生成目标平台适用的应用: dotnet build -r centos.7-x64 目标平台.NET Core 运行时标识符

Asp.Net Core 发布到IIS

一.Asp.Net Core 发布到IIS 1.许多时候在WindowsServer服务器上已经安装了IIS,监听80端口,那么Asp.Net Core应用的自宿主就没法监听80端口 2.也就是在Widnows系统已经启用IIS服务的情况下,需要安装 NET Core Windows Server Hosting,在目前官方给出的安装包中包含了.Net Core运行时 和Widnows Server  Hosting 3.Asp.Net Core发布到IIS下,需要.NET Core Windo

ASP.NET Core 中的配置

前言 配置在我们开发过程中必不可少,ASP.NET中的配置在 Web.config 中.也可配置在如:JSON.XML.数据库等(但ASP.NET并没提供相应的模块和方法). 在ASP.NET Core中Web.config已经不存在了(但如果托管到 IIS 的时候可以使用 web.config 配置 IIS), 而是用appsettings.json和appsettings.(Development.Staging.Production).json配置文件 (可以理解为ASP.NET中的Web

asp.net core在Centos7环境运行配置

环境说明: 服务器系统:CentOS 7.2.1511 相关工具:Xshel.Xftp 服务器软件软件:.netcore.nginx.supervisor 准备好发布的程序 安装.NET Core SDK for CentOS7   打开网址:https://www.microsoft.com/net/core#linuxcentos 复制如下命令,单步执行: sudo yum install libunwind libicu   curl -sSL -o dotnet.tar.gz https

Asp.Net Core 发布和部署(Linux + Jexus )

前言 在上篇文章中,主要介绍了 Dotnet Core Run 命令,这篇文章主要是讲解如何在 asp.net core 中对我们的已经完成的程序进行发布和部署. 有关如何使用 Nginx 进行部署,请参见本人的另一篇文章:http://www.cnblogs.com/savorboard/p/dotnet-core-publish-nginx.html 目录 安装 Liunx DotNet 环境 新建一个 Web 项目,并发布 使用 Jexus 进行反向代理 安装 Linux DotNet 环

Asp.Net Core 发布和部署( MacOS + Linux + Nginx )

在上篇文章中,主要介绍了 Dotnet Core Run 命令,这篇文章主要是讲解如何在Linux中,对 Asp.Net Core 的程序进行发布和部署. 有关如何在 Jexus 中进行部署,请参见本人的另一篇文章:http://www.cnblogs.com/savorboard/p/dot-net-linux-jexus.html 目录 新建一个 WebApp 项目 发布到 Linux,Mac OS 使用 Nginx 进行反向代理 新建一个 WebApp 项目 在 Asp.Net Core

Asp.Net Core 发布到 Docker(Linux Centos 虚拟机,使用Dockerfile)

实践一下 Asp.Net Core (基于.net core 2.2)部署到Docker 一.准备工作: 1. 使用Virtualbox创建一个Centos系统的虚拟机,并安装docker和vim 2. 配置好端口(如下图,后面需要使用) 3. 准备一个网站发布包(我采用的默认的Asp.Net Core MVC),windows发布时的配置(也可以在linux上进行发布),将发布包放入linux虚拟机(我的路径是:/root/Root/DefaultHttp/publish) 4. 测试一下发布

Asp.Net Core发布绑定域名和端口

一.WebHostBuilder配置URL和端口进行侦听 UseUrls() 1.默认的ASP.NET Core项目绑定http://localhost:5000.通过使用UseUrls扩展方法--编辑urls命令行参数 2.指定格式:http://xxx:xxx,如:http://*:81 var host = new WebHostBuilder() // .UseUrls("http://localhost:5003","http://www.sqlme.com:80&