微服务学习实战笔记 3.2-系统部署篇-部署微服务项目

一、发布项目

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

 

posted @ 2020-08-06 10:59  燕马越空  阅读(270)  评论(0编辑  收藏  举报