.Net Core实战教程(三):使用Supervisor配置守护进程
安装Supervisor
yum install python-setuptools easy_install supervisor
配置Supervisor
mkdir /etc/supervisor echo_supervisord_conf > /etc/supervisor/supervisord.conf cd /etc/supervisor vim supervisord.conf
编辑supervisord.conf文件
配置启动路径,移动文件最后,找到:
;[include]
;files = relative/directory/*.ini

替换为:
[include]
files=/etc/supervisor/conf.d/*.conf

配置启用管理界面功能,增加如下代码(这里默认不用输入用户名密码,当然也可以配置输入用户名,密码才能使用管理界面):
;以下内容开启http服务
[inet_http_server]
port=192.168.3.162:

保存并退出
配置dotnet启动
cd /etc/supervisor/ mkdir conf.d cd conf.d touch myapi.conf vim myapi.conf
编辑myapi.conf文件(根据你自己的实际情况书写):
[program:myapi]
command=/bin/bash -c "dotnet myapi.dll" ; 运行程序的命令
directory=/root/mytest/ ; 应用程序所在目录
stderr_logfile=/var/log/myapi.err.log ; 错误日志文件
stdout_logfile=/var/log/myapi.out.log ; 输出日志文件
environment=ASPNETCORE_ENVIRONMENT=Production ; 进程环境变量
user=root ; 进程执行的用户身份
stopsignal=INT
autostart=true ; 是否自动启动
autorestart=true ; 程序意外退出是否自动重启
startsecs= ; 自动重启间隔时间秒
保存并退出
如果有多个dotnet需要守护,这里需要写多份配置文件。
运行Supervisor
supervisord -c /etc/supervisor/supervisord.conf supervisorctl reload
查看Supervisor管理界面

查看管理界面,浏览器中输入刚刚配置的IP与端口:http://192.168.3.162:9001
发现自己的dotnet进程已经正常启动了。当然这还不够,我们还需要让Supervisor开机自动启动。
设置开机自动启动
cd /usr/lib/systemd/system/ touch supervisord.service vim supervisord.service
编辑supervisord.service文件:
[Unit]
Description=Supervisor daemon [Service]
Type=forking
ExecStart=/usr/bin/supervisord -c /etc/supervisor/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
重启电脑看看是否开机可以自动开启你的dotnet进程。
精心准备,转载请留下原文地址。
.Net Core实战教程(三):使用Supervisor配置守护进程的更多相关文章
- .Net Core实战教程(一):Linux下搭建项目
		
.Net Core实战教程(一):Linux下搭建项目 附言 .net core 1.0的时候就开始关注了,一直没有用于项目.真正用于项目我是2.0开始使用的.这几年也总结出一些经验.最近有空就写出来 ...
 - .Net Core实战教程(二):设置Kestrel的IP与端口的几种方法
		
.Net Core实战教程(二):设置Kestrel的IP与端口的几种方法 1.直接写在代码方式 Program.cs代码如下: using System; using System.Collecti ...
 - ASP.NET Core 发布 centos7 配置守护进程
		
ASP.NET Core应用程序发布linux在shell中运行是正常的.可一但shell关闭网站也就关闭了,所以要配置守护进程, 用的是Supervisor,本文主要记录配置的过程和过程遇到的问题 ...
 - [Linux] PHP程序员玩转Linux系列-使用supervisor实现守护进程
		
1.PHP程序员玩转Linux系列-怎么安装使用CentOS 2.PHP程序员玩转Linux系列-lnmp环境的搭建 3.PHP程序员玩转Linux系列-搭建FTP代码开发环境 4.PHP程序员玩转L ...
 - CentOS6/7 配置守护进程
		
CentOS6.x CentOS6中转用Upstrat代替以前的init.d/rcX.d的线性启动方式. 一.相关命令 通过initctl help可以查看相关命令 [root@localhost ~ ...
 - Node+Express+MongoDB + Socket.io搭建实时聊天应用实战教程(三)--前后端环境配置
		
前言 之前都是介绍一些基础知识,在这一节,我们就要开始实战coding了.正所谓磨刀不误砍柴工,准备工作显得尤为重要.很多demo只是追求效果的实现,并不注重整个demo的架构性.从我个人的角度看来, ...
 - mybatis实战教程三:mybatis和springmvc整合
		
一.搭建maven环境,引入相关jar 参考demo 二.写web.xml <?xml version="1.0" encoding="UTF-8"?&g ...
 - mybatis实战教程三:多对多关联
		
MyBatis3.0 添加了association和collection标签专门用于对多个相关实体类数据进行级联查询,但仍不支持多个相关实体类数据的级联保存和级联删除操作 一.创建student.te ...
 - Vue2+VueRouter2+webpack 构建项目实战(三):配置路由,运行页面
		
制作.vue模板文件 通过前面的两篇博文的学习,我们已经建立好了一个项目.问题是,我们还没有开始制作页面.下面,我们要来做页面了. 我们还是利用 http://cnodejs.org/api 这里公开 ...
 
随机推荐
- [linux] 进程五状态模型
			
运行态:该进程正在执行:就绪态:进程做好了准备,只要有机会就开始执行:阻塞态:进程在某些事件发生前不能执行,如I/O 操作完成:新建态:刚刚创建的进程,操作系统还没有把它加入到可执行进程组中.通常是进 ...
 - Centos7安装elasticSearch6
			
Elasticsearch6.0 1.Elasticsearch: Elasticsearch是一个基于 ...
 - windows 下 创建项目的虚拟环境
			
一. 为何使用虚拟环境 虚拟环境是Python解释器的一个私有副本,在这个环境你可以安装私有包,而且不会影响系统中安装的全局Python解释器. 在这个虚拟环境中的所有安装包,都是针对此环境的,不会被 ...
 - ConcurrentSkipListMap的常用方法
			
package com.geo.map; import java.util.Iterator;import java.util.Map.Entry;import java.util.Set;impo ...
 - Mybatis-plus入门学习]
			
需要的数据库建表语句: #创建用户表 CREATE TABLE user ( id BIGINT(20) PRIMARY KEY NOT NULL COMMENT '主键', name VARCHAR ...
 - Spring(003)-消费返回list的rest服务
			
通过spring提供的RestTemplate就可以访问rest服务.首先需要创建一个RestTemplate,这个需要手动来创建bean @Configuration public class De ...
 - 201871010110-李华《面向对象程序设计(java)》第十三周学习总结
			
项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 https://www.cnblogs.com/nwnu-daizh/p ...
 - VC 静态库与动态库(三)动态库创建与使用_隐式链接
			
动态库分为二种,一种隐式链接,另一种显示调用.不论哪种动态库,本质都是运行时动态加载 隐式链接:程序运行时,由编译系统自动加载动态库,然后根据程序的引入表进行重定位,当程序退出时自动卸载动态库 显示调 ...
 - day35_8_19 数据库
			
一.存储引擎 不同的数据应该有不同的处理机制 MySQL中也有不同的存储引擎: 1.InnoDB MySQL默认的存储引擎. innoDB比myisam存储数据要安全. innoDB支持事务. inn ...
 - javaweb监听器实现与原理
			
参考:https://www.cnblogs.com/lxp503238/p/6678688.html https://blog.csdn.net/CPOHUI/article/details/888 ...