Centos 7 配置安装Supervisor与卸载 (supervisor保证项目正常运行及重启电脑后自启项目)

Supervisor 类似于windows service一样的服务,能够实时监视程序的运行状态。Supervisor是Python开发的Linux/Unix系统下的一个进程管理工具。所以必须要有python环境,我在安装supervisor前已经安装了python3.**

1.安装supervisor

yum install python-setuptools

easy_install supervisor

yum install supervisor

2.配置supervisor

  1. 在运行supervisord服务的时候,需要指定Supervisor配置文件,所以需要创建一个文件目录以便让supervisor成功加载默认配置
mkdir /etc/supervisor
  1. 目录创建成功后通过echo_supervisor_conf程序(用来生成初始配置文件,文件名可以自定义)来初始化一个配置文件:
echo_supervisord_conf > /etc/supervisor/supervisord.conf
  1. 通过vim命令修改创建好的supervisor.conf配置信息
 vi /etc/supervisor/supervisord.conf

在superv.conf中将如下的片段:
在这里插入图片描述
修改为:
在这里插入图片描述
以上操作的目的是为了创建一个supervisor进程配置文件加载目录,让supervisor自动加载该目录下.ini后缀的文件作为服务配置

3.创建项目,自定义进程的名称

  1. 创建配置文件AbpMPACore.ini(文件名自定义)
[program:AbpMPACore]                          ;自定义进程名称, 根据自己喜好命名
command=dotnet AbpMPA.Web.Mvc.dll             ;程序启动命令 使用dotnet 命令
directory=/publish                            ;命令执行的目录 你.NET Core 程序存放目录
autostart=true                                ;在Supervisord启动时,程序是否启动
autorestart=true                              ;程序退出后自动重启
startretries=5                                ;启动失败自动重试次数,默认是3
startsecs=1                                   ;自动重启间隔
user=root                                     ;设置启动进程的用户,默认是root
priority=999                                  ;进程启动优先级,默认999,值小的优先启动
stderr_logfile=/var/log/AbpMPA.err.log        ;标准错误日志 路径可以自定义
stdout_logfile=/var/log/AbpMPA.out.log        ;标准输出日志  路径可以自定义
environment=ASPNETCORE_ENVIRONMENT=Production ;进程环境变量
stopsignal=INT                                ;请求停止时用来杀死程序的信号
  1. 在/etc/supervisor/目录下创建一个文件夹conf.d:
 mkdir /etc/supervisor/conf.d
  1. 将创建好的ini文件放在conf.d目录下

4.启动supervisor服务

supervisord -c /etc/supervisor/supervisord.conf

5.配置Supervisor开机启动

进入/usr/lib/systemd/system/目录,并创建supervisord.service文件(或者在本地写好了再通过ftp工具传输到指定目录下)

vi /usr/lib/systemd/system/supervisord.service
[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 supervisord.service

systemctl daemon-reload

检查是否自动重启,若出现enabled返回值则证明可以开机自启

systemctl is-enabled supervisord

重启,测试是否可以开机自启

supervisord启动时出现的常见报错:
//unix。。。。。。。
1.检查是否在/etc/supervisor的文件夹下启动
2.是否执行过supervisord -c /etc/supervisor/supervisord.conf命令启动supervisor服务
3.etc/supervisor里面的配置文件是否正确
注:建议在.ini的配置文件路径里尽量不要用中文提示

卸载supervisor

yum -y remove supervisor
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值