Coentos7 安装 supervisord 配置.NET CORE 守护进程

本文档详细介绍了如何在Linux环境中安装并配置Supervisor来管理.NET Core Web API应用程序。从安装Python套件和Supervisor,创建配置文件,设置日志目录,到启动和设置Supervisor为开机启动,以及使用命令行工具进行进程管理和日志查看,每个步骤都有清晰的说明。此外,还提供了Supervisorctl的常用命令和环境变量设置方法。
摘要由CSDN通过智能技术生成

安装Supervisor
yum install python-setuptools
easy_install supervisor

配置Supervisor
mkdir /etc/supervisor
mkdir /etc/supervisor
初始化一个配置文件
echo_supervisord_conf > /etc/supervisor/supervisord.conf
修改配置
vi /etc/supervisor/supervisord.conf
最下边找到如下文本片段
;[include]
;files = relative/directory/*.ini

修改为,注意前面的分号(;)一定要去年
[include]
files = /etc/supervisor/conf.d/*.ini

mkdir /etc/supervisor/conf.d

cd /etc/supervisor/conf.d/
vi blog.ini
添加如下内容:

# 程序名称,在 supervisorctl 中通过这个值来对程序进行一系列的操作
[program:qqc_one]
# 启动命令,与手动在命令行启动的命令是一样的
command=dotnet Solution.WebApi.Blog.dll --urls="http://*:3001"
# 程序的启动目录
directory=/home/blog
# 可以通过 environment 来添加需要的环境变量,一种常见的用法是使用指定的 virtualenv 环境
environment=ASPNETCORE_ENVIRONMENT=Production
# 指定用户名
user=root
# 日志目录 需要注意当指定目录不存在时无法正常启动,所以需要手动创建目录(supervisord 会自动创建日志文件)
stdout_logfile=/var/log/blog.out.log
stderr_logfile=/var/log/blog.log
# 日志备份数量
stdout_logfile_backups = 20
# 指定日志文件大小
stdout_logfile_maxbytes = 20MB 
# 把 stderr 重定向到 stdout,默认 false,错误日志也会写进stdout_logfile中
redirect_stderr=True
# 在 supervisord 启动的时候也自动启动
autostart=True    
# 程序异常退出后自动重启
autorestart=True

启动 Supervisor 服务
supervisord -c /etc/supervisor/supervisord.conf

配置Supervisor开机启动,进入/usr/lib/systemd/system/目录,并创建supervisord.service文件

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

验证一下是否为开机启动

[root@iZwz99fef2zmvqjuajcfh2Z conf.d]# systemctl is-enabled supervisord
enabled
 

常用命令
查看supervisor启动日志
tail -f /var/log/messages
查看进程是否生效
ps -ef | grep qqc_one
启动/停止/重启/状态
service supervisord start/stop/restart/status
重启supervisord
service supervisord restart
设置环境变量
vi /etc/profile
export ASPNETCORE_ENVIRONMENT=Production
使环境变量生效
source /etc/profile
重启服务器
shutdown -r now

查看进程号
ps -aux|grep supervisord
kill  进程号

supervisorctl 操作:
输入命令 supervisorctl 进入 supervisorctl 的 shell 交互界面:

help # 查看帮助
status # 查看程序状态
stop program_name # 关闭 指定的程序
start program_name # 启动 指定的程序
restart program_name # 重启 指定的程序
tail -f program_name # 查看 该程序的日志
update # 重启配置文件修改过的程序(修改了配置,通过这个命令加载新的配置)

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值