原文:asp.net core2.0 部署centos7/linux系统 --守护进程supervisor(二)

续上一篇文章:asp.net core2.0 部署centos7/linux系统 --安装部署(一),遗留的问题而来,对程序添加守护进程,使网站可以持续化的运行起来。

 

1、介绍supervisor

    Supervisor(http://supervisord.org/)是用Python开发的一个client/server服务,是Linux/Unix系统下的一个进程管理工具,不支持Windows系统。它可以很方便的监听、启动、停止、重启一个或多个进程。用Supervisor管理的进程,当一个进程意外被杀死,supervisort监听到进程死后,会自动将它重新拉起,很方便的做到进程自动恢复的功能,不再需要自己写shell脚本来控制。因为Supervisor是Python开发的,安装前先检查一下系统否安装了Python2.4以上版本。下面以CentOS7,Python2.7版本环境下,介绍Supervisor的安装与配置步聚:

 

1、安装Python包管理工具(easy_install),安装supervisor

    命令:yum install python-setuptools

              easy_install supervisor

    

    说明:supervisor安装完成后会生成三个执行程序:supervisortd、supervisorctl、echo_supervisord_conf,分别是supervisor的守护进程服务(用于接收进程管理命令)、客户端(用于和守护进程通信,发送管理进程的指令)、生成初始配置文件程序

 

2、配置supervisor

    新建配置目录命令:mkdir /etc/supervisor

     生成supervisor的初始化配置文件 :echo_supervisord_conf > /etc/supervisor/supervisord.conf

    修改配置文件:vi supervisord.conf,如图:

   

    

    取消注释并修改文件并保存

 

3、配置管理进程

    说明:进程管理配置参数,不建议全都写在supervisord.conf文件中,应该每个进程写一个配置文件放在include指定的目录下包含进supervisord.conf文件中

    a.创建 /etc/supervisor/conf.d目录, 用于存放进程管理的配置文件 

    b.修改/etc/supervisor/supervisord.conf中的include参数,将/etc/supervisor/conf.d目录添加到include中

    

    应用程序1的配置:比如我们应用程序名称为:WebApplication1

    命令 vi WebApplication1.conf

    输入代码:

    [program:WebApplication1]

    command=dotnet WebApplication1.dll

    directory=/root/aspnetcoreapi

    autorestart=true

    stderr_logfile=/var/log/WebApplication1.err.log

    stdout_logfile=/var/log/WebApplication1.out.log

    environment=ASPNETCORE_ENVIRONMENT=Production

    user=root

    stopsignal=INT

 

    保存并退出!!!

 

4、启动Supervisor服务

    命令:supervisord -c /etc/supervisor/supervisord.conf

    查看状态:supervisorctl status

    

    

    检查到有一个应用程序在运行中,说明正常

 

5、进程的控制

     说明:supervisord启动成功后,可以通过supervisorctl客户端控制进程,启动、停止、重启。运行supervisorctl命令,不加参数,会进入supervisor客户端的交互终端,并会列出当前所管理的所有进程。

    

    上图中的WebApplication1就是我们在配置文件中[program:WebApplication1]指定的名字。

 

6、bash终端控制

    启动:supervisord -c /etc/supervisor/supervisord.conf

    supervisorctl status

    supervisorctl stop WebApplication1

    supervisorctl start WebApplication1

    supervisorctl restartWebApplication1

    supervisorctl reload

    supervisorctl update

 

7、Web管理界面

    说明:出于安全考虑,默认配置是没有开启web管理界面,需要修改supervisord.conf配置文件打开http访权限,将下面的配置修改:

    

    此配置说明我的管理界面是开启的哦,9001端口,我们来浏览一下地址http://192.168.0.171:9001/

    

     

 

8、开机启动Supervisor服务

  • 首先进入/lib/systemd/system目录,并创建supervisor.service文件,输入代码如下:

 

        [Unit]

        Description=supervisor

        After=network.target

 

        [Service]

        Type=forking

        ExecStart=/usr/bin/supervisord -c /etc/supervisor/supervisord.conf

        ExecStop=/usr/bin/supervisorctl $OPTIONS shutdown

        ExecReload=/usr/bin/supervisorctl $OPTIONS reload

        KillMode=process

        Restart=on-failure

        RestartSec=42s

 

        [Install]

 

        WantedBy=multi-user.target

 

保存并退出!!!

 

  • 修改文件权限

            命令:chmod 766 supervisor.service

 

  • 设置开机启动

            systemctl enable supervisor.service

            systemctl daemon-reload

     

以上Supervisor开机服务启动已经好了!!!

 

交流qq群:18362376

asp.net core2.0 部署centos7/linux系统 --守护进程supervisor(二)的更多相关文章

  1. asp.net core2.1 部署centos7/linux系统 -- 安装部署(一)

    原文:asp.net core2.1 部署centos7/linux系统 -- 安装部署(一) 1.安装dotnet sdk(添加产品秘钥与yum源) 添加yum源:sudo rpm -Uvh htt ...

  2. Linux系统守护进程详解ntsysv 可以关掉那些服务

    acpid, haldaemon, messagebus, klogd,network, syslogd  以上几个服务必须开启!其他的分析如下: 1.NetworkManager,NetworkMa ...

  3. .net core linux的守护进程 supervisor

    这个介绍的很全面,对初学者来说可以有更好的认识: https://www.cnblogs.com/savorboard/p/dotnetcore-supervisor.html

  4. 将asp.net core2.0项目部署在IIS上运行

    原文:将asp.net core2.0项目部署在IIS上运行 前言:  与ASP.NET时代不同,ASP.NET Core不再是由IIS工作进程(w3wp.exe)托管,而是独立运行的.它独立运行在控 ...

  5. linux 创建守护进程的相关知识

    linux 创建守护进程的相关知识 http://www.114390.com/article/46410.htm linux 创建守护进程的相关知识,这篇文章主要介绍了linux 创建守护进程的相关 ...

  6. 在阿里云Windows Server 上部署ASP .NET CORE2.0项目

    近期使用ASP.NET Core2.0对博客进行了重写,在部署到服务器时遇到了一些问题,来记录一下留用. 配置环境 安装 .Net Framework3.5 在IIS管理器上直接开启,这里总是失败,上 ...

  7. Asp.Net Core2.0在linux下发布

    一.在linux上新建mvc项目发布 可以参考:https://segmentfault.com/a/1190000012428781 也可以看微软官方文档. 大致步骤如下: 1.在linux下安装. ...

  8. 一步一步带你做WebApi迁移ASP.NET Core2.0

    随着ASP.NET Core 2.0发布之后,原先运行在Windows IIS中的ASP.NET WebApi站点,就可以跨平台运行在Linux中.我们有必要先说一下ASP.NET Core. ASP ...

  9. WebApi迁移ASP.NET Core2.0

    WebApi迁移ASP.NET Core2.0 一步一步带你做WebApi迁移ASP.NET Core2.0   随着ASP.NET Core 2.0发布之后,原先运行在Windows IIS中的AS ...

随机推荐

  1. 计科1111-1114班第一次实验作业(NPC问题——回溯算法、聚类分析)

    实验课安排 地点: 科技楼423 时间:  计科3-4班---15周周一上午.周二下午 计科1-2班---15周周一下午.周二晚上(晚上时间从18:30-21:10) 请各班学委在实验课前飞信通知大家 ...

  2. kibana中信息分类查询显示的方法

    1.什么是kibana? kibana是ELK(elasticsearch+logstash+kibana)中的K,它是一个可灵活的分析和可视化平台,主要是显示数据以及根据这些数据绘出一些可视化图表, ...

  3. amazeui学习笔记一(开始使用5)--藏品collections

    amazeui学习笔记一(开始使用5)--藏品collections 一.总结 1.藏品collections:一些 Amaze UI 中没有的功能.amazeui认为好的解决方案.像图表绘制里面的百 ...

  4. Project Euler 435 Polynomials of Fibonacci numbers (矩阵快速幂)

    题目链接: https://projecteuler.net/problem=435 题意: The Fibonacci numbers $ {f_n, n ≥ 0}$ are defined rec ...

  5. (入门整理学习一)Asp.net core

    1.安装.net code SDK,vs Code;vs code c#插件可在软件扩展 (我网盘有)  vs2015上安装教程:http://www.cnblogs.com/wangrudong00 ...

  6. <一> 爬虫的原理

    一.爬虫是什么? #1.什么是互联网? 互联网是由网络设备(网线,路由器,交换机,防火墙等等)和一台台计算机连接而成,像一张网一样. #2.互联网建立的目的? 互联网的核心价值在于数据的共享/传递:数 ...

  7. 互信息 & 卡方 - 文本挖掘

    在做文本挖掘,特别是有监督的学习时,常常需要从文本中提取特征,提取出对学习有价值的分类,而不是把所有的词都用上,因此一些词对分类的作用不大,比如“的.是.在.了”等停用词.这里介绍两种常用的特征选择方 ...

  8. 装饰模式和python装饰器

    装饰器和装饰模式 先给出两者的定义: - 装饰器:装饰器是一个非常著名的设计模式,常常被用于有切面需求的场景.较为经典的有插入日志.性能測试.事务处理等. 装饰器是解决这类问题的绝佳设计.有了装饰器, ...

  9. 关于 /etc/zabbix/zabbix_agentd.conf 文件 Hostname 文件的说明

    前提 (1) /etc/hosts 文件如下 [root@testdb ~]# cat /etc/hosts 127.0.0.1 localhost localhost.localdomain loc ...

  10. UVA 11489 - Integer Game 博弈

    看题传送门 题目大意: S和T在玩游戏,S先.给出一数字串,两人轮流取出一个数字,要求每次取完之后剩下的数为3的倍数,或者没有数字留下.如果两个人足够聪明,求胜利的一方. 思路: 我一开始竟然没有输C ...