Linux服务器部署.Net Core笔记:四、安装Supervisor进程守护
Supervisor 是用 Python 开发的 Linux/Unix 系统下的一个进程管理工具。它可以使进程脱离终端,变为后台守护进程(daemon)。实时监控进程状态,异常退出时能自动重启。
Supervisor 不支持任何版本的 Window 系统;仅支持在 Python2.4 或更高版本,但不能在任何版本的 Python 3 下工作。
联网状态下,官方推荐首选安装方法是使用easy_install,它是setuptools(Python 包管理工具)的一个功能。所以先执行如下命令安装 setuptools:yum install python-setuptools

然后执行如下命令安装 Supervisor:easy_install supervisor

输入命令查看配置文件模板来验证安装:echo_supervisord_conf

接着通过如下命令创建目录,这目录是为了让 Supervisor 加载默认配置用的目录:mkdir /etc/supervisor

加载目录有了,然后通过echo_supervisord_conf程序(用来生成初始配置文件)来初始化一个配置文件:echo_supervisord_conf > /etc/supervisor/supervisord.conf

打开新的配置文件修改:vi /etc/supervisor/supervisord.conf

将底部的:
;[include]
;files = relative/directory/*.ini
修改为:
[include]
files = conf.d/*.conf
这样supervisord加载时就会自动加载/etc/supervisor/conf.d目录下,所有扩展名为.conf的配置文件。
通过命令进入/conf.d目录:cd /etc/supervisor/conf.d

创建并写入配置信息:vi testweb.conf
[program:testweb]
command= dotnet TestWeb.dll --urls="http://*:8080"
directory= /home/vsftpd/lk_ftp/TestWeb
autostart=true
autorestart=true
startretries=
startsecs=
user=root
priority=
stderr_logfile=/var/log/WebApplication1.err.log
stdout_logfile=/var/log/WebApplication1.out.log
environment=ASPNETCORE_ENVIRONMENT=Production
stopsignal=INT
program:自定义进程名称
command:程序启动命令
directory:命令执行的目录,即项目部署路径
autostart:在Supervisord启动时,程序是否启动
autorestart:程序退出后自动重启
startretries:启动失败自动重试次数,默认是3
startsecs:自动重启间隔
user:设置启动进程的用户,默认是root
priority:进程启动优先级,值小的优先启动
stderr_logfile:标准错误日志
stdout_logfile:标准输出日志
environment:进程环境变量
stopsignal:请求停止时用来杀死程序的信号
完成配置后就可以启动Supervisor 服务了:supervisord -c /etc/supervisor/supervisord.conf

每次修改配置文件后,都要执行重启命令,这里要注意,因为没有环境变量,这种命令都要在supervisor安装目录里执行。
查看是否生效:ps -ef | grep dotnet

进入/usr/lib/systemd/system目录,配置Supervisor开机启动:cd /usr/lib/systemd/system

新建一个“supervisord.service”文件写入配置:vi supervisord.service
# supervisord service for systemd (CentOS 7.0+)
# by ET-CS (https://github.com/ET-CS)
[Unit]
Description=Supervisor daemon [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
设置为随系统自动启动:systemctl enable supervisor

执行命令来验证是否为开机启动:systemctl is-enabled supervisord

Linux服务器部署.Net Core笔记:四、安装Supervisor进程守护的更多相关文章
- Linux服务器部署.Net Core笔记:目录
目录 Linux服务器部署.Net Core笔记:一.开启ssh服务 Linux服务器部署.Net Core笔记:二.安装FTP Linux服务器部署.Net Core笔记:三.安装.NetC ...
- Linux服务器部署.Net Core笔记:六、安装MySQL
接下来我们在 Centos7 系统下使用 yum 命令安装 MySQL,需要注意的是 CentOS 7 版本中 MySQL数据库已从默认的程序列表中移除,所以在安装前我们需要先去官网下载 Yum 资源 ...
- Linux服务器部署.Net Core笔记:五、安装Nginx
我们搜索一下yum库关于nginx的rpm包:yum list | grep nginx 找到rpm安装包,我们就可以使用yum直接安装了:yum install nginx 修改nginx配置文件: ...
- Linux服务器部署.Net Core笔记:三、CentOS 7上安装.NetCore运行环境
1.要开始安装 .NET,您需要注册 Microsoft 签名密钥并添加 Microsoft 产品提要.每台机器只需要做一次. 打开命令提示符并运行以下命令:sudo rpm -Uvh https:/ ...
- Linux服务器部署.Net Core笔记:二、安装FTP
1.安装 安装ftp:yum install -y vsftpd 将ftp设置开机启动:systemctl enable vsftpd.service 2.配置 安装好后在ftp配置文件里进行配置 : ...
- Linux服务器部署.Net Core笔记:一、开启ssh服务
开启ssh服务需要root权限,先用root账户登陆系统 在安装ssh前我们先更新一下yum:yum update 先检查有没有安装ssh服务:rpm -qa | grep ssh 如果没有安装ssh ...
- Linux服务器部署系列之八—Sendmail篇
Sendmail是目前Linux系统下面用得最广的邮件系统之一,虽然它存在一些不足,不过,目前还是有不少公司在使用它.对它的学习,也能让我们更深的了解邮件系统的运作.下面我们就来看看sendmail邮 ...
- Linux服务器部署系列之七—OpenLDAP篇
LDAP(轻量级目录访问服务),通过配置这个服务,我们也可以在linux下面使用目录的形式管理用户,就像windows下面的AD一样,方便我们管理.下面我们就一起来配置openldap服务.本文运行环 ...
- Linux服务器部署系列之一—Apache篇(下)
接上篇 linux服务器部署系列之一—Apache篇(上) 四.管理日志文件 Apache日志分为访问日志和错误日志两种: 1)访问日志 用于记录客户端的访问信息,文件名默认为access_lo ...
随机推荐
- 【论文阅读】Binary Multi-View Clustering
文章地址:https://ieeexplore.ieee.org/document/8387526 出自:IEEE Trans. on Pattern Analysis and Machine Int ...
- 关于Java中2.0-1.1!=0.9的问题
关于Java中2.0-1.1!=0.9的问题 问题引出: 在<Java核心技术>中关于浮点数值计算部分提到,System.out.println(2.0-1.1)这条语句并不是想当然的0. ...
- SpringBoot系列之集成Thymeleaf用法手册
目录 1.模板引擎 2.Thymeleaf简介 2.1).Thymeleaf定义 2.2).适用模板 3.重要知识点 3.1).th:text和th:utext 3.2).标准表达式 3.3).Thy ...
- day 27 网路编程 面向对象多继承
知识补充: 字符串转化为字节 string1 = input(“请输入你的名字”) string1.encode('utf-8') 字节转化为字符串 byte1 = b"alex" ...
- php: $$str
这种写法称为可变变量有时候使用可变变量名是很方便的.就是说,一个变量的变量名可以动态的设置和使用.一个普通的变量通过声明来设置,例如: <?php$a = "hello";? ...
- Kafka use zkCli.sh to check topic offset on linux
> ./zkCli.sh -server zk1host:port,zk2host:port,zk3host:port >help ZooKeeper -server host:port ...
- 使用PaintCode便捷地实现动画效果
// // ViewController.m // paintCodeTestOC //gif // Created by LongMa on 2019/7/25. // #import " ...
- Flask开发VIP版HttpServer #华为云·寻找黑马程序员#
欢迎添加华为云小助手微信(微信号:HWCloud002 或 HWCloud003),输入关键字"加群",加入华为云线上技术讨论群:输入关键字"最新活动",获取华 ...
- ajax异步请求的三种常见方式
首先先介绍下ajax,ajax(ASynchronous JavaScript And XML)为异步的javascript和xml.所谓的异步和同步是指: 同步:客户端必须等待服务器的响应,在等待期 ...
- luogu P4677 山区建小学 |dp
题目描述 政府在某山区修建了一条道路,恰好穿越总共nnn个村庄的每个村庄一次,没有回路或交叉,任意两个村庄只能通过这条路来往.已知任意两个相邻的村庄之间的距离为did_idi(为正整数),其中,0& ...