一、发布项目
1、配置运行环境
安装lrzsz包,上传文件
yum -y install lrzsz
安装ASP.NET Core 运行时
sudo dnf install aspnetcore-runtime-3.1
2、发布内部服务Orleans项目
unzip ExamOnline.ExamPapers.OrleansHost.zip
mkdir -p /data/
cp -r ExamOnline.ExamPapers.OrleansHost /data
修改openssl兼容版本,连接数据库
find /etc/* -name "openssl*" vi /etc/crypto-policies/back-ends/opensslcnf.config MinProtocol = TLSv1.2 改为 MinProtocol = TLSv1
2、发布聚合Api项目
3、发布Yarp网关项目
二、通过supervisor 托管服务
supervisor安装参见:安装supervisor
1、托管内部服务Orleans项目
(1)查看配置文件目录
cat /etc/supervisord.conf
通过面命令 看到 supervisor 默认的托管服务配置文件目录在 supervisord.d/ 下面,这个目录的完整地址是 /etc/supervisord.d/ ,这里的意思,在 supervisord.d 文件夹下的所有 ini 类型的文件都是配置文件。
(2)建立配置文件
cd /etc/supervisord.d/ vi examonline.ini
输入以下内容,保存退出
[program:examonline_papers_orleanshost] command=/usr/bin/dotnet ExamOnline.ExamPapers.OrleansHost.dll ; 输入执行命令,这里表示 dotnet ExamOnline.ExamPapers.OrleansHost.dll directory=/data/ExamOnline.ExamPapers.OrleansHost ; 应用程序根目录 priority= 2 startsecs=10 autostart=true ; 是否自动启动,当 supervisor 加载该配置文件的时候立即启动它 autorestart=true ; 是否自动重启,当执行 dotnet ExamOnline.ExamPapers.OrleansHost.dll 启动失败时,会重复的自动重启 logfile_maxbytes=50MB ; 该配置文件输出单个日志文件的大小 logfile_backups=10 ; 日志备份个数 loglevel=info ; 记录日志级别 stderr_logfile=/data/logs/examonline_papers_orleanshost/logfile.err.log ; 指定标准错误输出日志文件 stdout_logfile=/data/logs/examonline_papers_orleanshost/logfile.out.log ; 指定标准输出日志文件 ;environment=ASPNETCORE_ENVIRONMENT=Production ; 可配置环境变量,该环境变量将通过执行 dotnet ExamOnline.ExamPapers.OrleansHost.dll 命令的时候传入到 .NET Core 应用程序中 user=root ;启动服务的用户 stopsignal=INT redirect_stderr=true
(3)创建日志文件目录
接下来建立日志目录,否则服务启动出错,输入命令
mkdir -p /data/logs/examonline_papers_orleanshost
(4)重启 supervisor 服务,并进入 supervisorctl
systemctl restart supervisord supervisorctl
运行成功:
查看日志输出
cat /data/logs/examonline_papers_orleanshost/logfile.out.log
(5)其他相关命令
supervisord -c /etc/supervisord.conf #启动服务 supervisorctl reload #重新加载配置 supervisorctl shutdown #关闭 systemctl enable supervisord #开机启动 systemctl is-enabled supervisord #验证是否开机启动
2、托管聚合Api项目
(1)
mkdir -p /data/logs/examonline_aggregation_exam
(2)编辑配置文件
cd /etc/supervisord.d/ vi examonline.ini
追加以下内容,保存退出
[program:examonline_aggregation_exam] command=/usr/bin/dotnet ExamOnline.Aggregation.ExamManagement.dll ; 输入执行命令,这里表示 dotnet ExamOnline.Aggregation.ExamManagement.dll directory=/data/ExamOnline.Aggregation.ExamManagement ; 应用程序根目录 priority= 6 startsecs=10 autostart=true ; 是否自动启动,当 supervisor 加载该配置文件的时候立即启动它 autorestart=true ; 是否自动重启,当执行 dotnet ExamOnline.Aggregation.ExamManagement.dll 启动失败时,会重复的自动重启 logfile_maxbytes=50MB ; 该配置文件输出单个日志文件的大小 logfile_backups=10 ; 日志备份个数 loglevel=info ; 记录日志级别 stderr_logfile=/data/logs/examonline_aggregation_exam/logfile.err.log ; 指定标准错误输出日志文件 stdout_logfile=/data/logs/examonline_aggregation_exam/logfile.out.log ; 指定标准输出日志文件 ;environment=ASPNETCORE_ENVIRONMENT=Production ; 可配置环境变量,该环境变量将通过执行 dotnet ExamOnline.Aggregation.ExamManagement.dll 命令的时候传入到 .NET Core 应用程序中 user=root ;启动服务的用户 stopsignal=INT redirect_stderr=true
3、托管Yarp网关项目
(1)
mkdir -p /data/logs/baize_gateway_yarp
(2)建立配置文件
cd /etc/supervisord.d/ vi examonline.ini
输入以下内容,保存退出
[program:baize_gateway_yarp] command=/usr/bin/dotnet Baize.Gateway.Yarp.dll ; 输入执行命令,这里表示 dotnet Baize.Gateway.Yarp.dll directory=/data/Baize.Gateway.Yarp ; 应用程序根目录 priority= 9 startsecs=10 autostart=true ; 是否自动启动,当 supervisor 加载该配置文件的时候立即启动它 autorestart=true ; 是否自动重启,当执行 dotnet Baize.Gateway.Yarp.dll启动失败时,会重复的自动重启 logfile_maxbytes=50MB ; 该配置文件输出单个日志文件的大小 logfile_backups=10 ; 日志备份个数 loglevel=info ; 记录日志级别 stderr_logfile=/data/logs/baize_gateway_yarp/logfile.err.log ; 指定标准错误输出日志文件 stdout_logfile=/data/logs/baize_gateway_yarp/logfile.out.log ; 指定标准输出日志文件 ;environment=ASPNETCORE_ENVIRONMENT=Production ; 可配置环境变量,该环境变量将通过执行 dotnet Baize.Gateway.Yarp.dll 命令的时候传入到 .NET Core 应用程序中 user=root ;启动服务的用户 stopsignal=INT redirect_stderr=true