一、Centos下安装.net core sdk
1、导入密钥
- 非centos下
sudo rpm -Uvh https://packages.microsoft.com/config/rhel/7/packages-microsoft-prod.rpm
- centos7使用
sudo rpm -Uvh https://packages.microsoft.com/config/centos/8/packages-microsoft-prod.rpm
2、安装依赖插件
如果不安装此插件在后续的安装过程中可能会出现错误
yum install libunwind libicu
3、安装dotnet sdk
方法1:通过yum安装
- NET5
[root@localhost ~]# sudo yum install dotnet-sdk-5.0
- NET6
[root@localhost ~]# sudo yum install dotnet-sdk-6.0
4、检查安装情况
dotnet --version
安装成功后 输入 dotnet --version 查看是否有版本号,看是否安装成功。(后面要通过dotnet 命令来启动项目服务)
二、安装supervisor
方法一、使用yum命令安装(推荐)
#切换为root用户
yum install epel-release
yum install -y supervisor
安装完成后在/etc目录下有以下文件
三、编辑相关配置文件
1、创建supervisor配置文件
如果额没有则创建 mkdir /etc/supervisor #用来存储supervisor的配置文件以及开机启动文件等等...
mkdir /etc/supervisord.d #用来存储应用程序/服务所需的目录(如果没有则创建该目录)
2、编辑配置文件
根据实际需要进行调整
vim /etc/supervisord.conf
[unix_http_server]
file=/run/supervisor/supervisor.sock
...
[supervisord]
logfile=/var/log/supervisor/supervisord.log
pidfile=/run/supervisord.pid
[supervisorctl]
serverurl=unix:///run/supervisor/supervisor.sock ; use a unix:// URL for a unix socket
...
[include]
files = supervisord.d/*.ini ;应用服务配置文件存储路径
3、编辑应用部署配置文件
vim /etc/supervisord.d/zradmin.ini
[program:zradmin]
command=dotnet ZR.Admin.WebApi.dll --urls http://*:8888; 运行程序的命令,这里可以指定启动端口也可以不指定,不指定使用配置文件里面配置的启动地址
directory= /home/website/zradmin ; 命令执行的目录
autorestart=true ; 程序意外退出是否自动重启
startsecs=5 ;5秒自动重启
stderr_logfile=/var/log/zradmin.err.log ; 错误日志文件
stdout_logfile=/var/log/zradmin.out.log ; 输出日志文件
environment=ASPNETCORE_ENVIRONMENT=Production ; 进程环境变量
user=root ; 进程执行的用户身份
stopsignal=INT
[program:zradmin] 表示程序运行在supervisor 里面的名字,用于关闭开启程序使用
注意
- 修改此配置文件后要重新update 配置文件,不然一直会使用上次的配置文件
- stderr_logfile/stdout_logfile 后面的文件夹路径如果需要加自定义路径一定要保证文件目录存在,否则启动不了应用程序
四、服务启动和关闭
1、启用supervisor
参数:-c指定让其读取的配置文件
[root@localhost /]supervisord -c /etc/supervisord.conf
supervisord启动成功后,可以通过supervisorctl客户端控制进程,启动、停止、重启。运行supervisorctl命令,不加参数,会进入supervisor客户端的交互终端,并会列出当前所管理的所有进程。
2、关闭supervisor
supervisorctl shutdown
3、重新加载supervisor配置文件,并重启superivisor
重新启动配置中的所有程序
supervisorctl reload
4、添加或删除配置文件更新
配置文件修改后使用该命令加载新的配置
supervisorctl update
5、管理supervisorctl应用程序的服务
启动所有 supervisorctl start all
启动单个 supervisorctl start [service_name]
停止所有程序 supervisorctl stop all
停止指定服务 supervisorctl stop [service_name]
查看应用状态 supervisorctl status
五、supervisor配置图形化管理
编辑 supervisor.conf 配置文件,把下面注释打开,里面的port最好改成服务器内网
通过服务器IP访问
可以对进程进行重启、停止、实时监控程序日志
6、supervisor配置开机启动
在目录 /etc/supervisor 里面心中一个 supervisord.service 文件
vim /etc/supervisor/supervisord.service
# dservice 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/supervisord.conf
ExecStop=/usr/bin/supervisorctl shutdown
ExecReload=/usr/bin/supervisorctl reload
KillMode=process
Restart=on-failure
RestartSec=42s
[Install]
WantedBy=multi-user.target
将文件拷贝至:“/usr/lib/systemd/system/supervisord.service”
执行命令:systemctl enable supervisord
执行命令:systemctl is-enabled supervisord #来验证是否为开机启动