之前学习了一些新的东西,所以做了一个基于.NET Core 3.1 开发的微服务 WebAPI。弄了一个仿今日头条的 app来使用这些api。现在将webapi发布至Windows Server 2019 并且在系统启动时微服务。

在此之前先介绍一下手动启动微服务所需要的简单步骤:

  1. 由于微服务基于consul做的,所以要先启动consul;
  2. 然后有使用的redis缓存,也启动redis缓存;
  3. 然后在各自webapi 项目文件夹路径下打开命令行 运行 .NET Core api项目;

我的webapi分4个,三个是微服务,一个是网关:

为了方便给每个步骤都编写一个bat 批处理文件 (先新建文档,然后修改文档后缀名为.bat):

  • 启动consul命令:
title consul
consul agent -dev
  •  启动redis命令:
title redis_1215
redis-server.exe redis.windows-service.conf
  • 启动微服务ToDayService命令:
title todayservice_1000
dotnet ToDayServer.dll --urls="http://*:1000" --ip="127.0.0.1" --port=1000 --start="todayservice_1000" 
  • 启动微服务UserService命令:
title userservice_2000
dotnet userservice.dll --urls="http://*:2000" --ip="127.0.0.1" --port=2000
  •  启动微服务JournalismService命令:
title journalismservice_3000
dotnet  JournalismService.dll --urls="http://*:3000" --ip="127.0.0.1" --port=3000
  •  启动网关服务OcelotGateway命令:
title ocelotgateway_555
dotnet ocelotgateway.dll --urls="http://*:555" --ip="127.0.0.1" --port=555

 完成以上这些之后再写一个批处理(启动微服务环境.bat ),用来运行这些批处理:

title 微服务环境

start cmd /k C:\Users\Administrator\Desktop\启动consul服务.bat

choice /t 3 /d y

cd/d C:\"Program Files"\Redis-x64-5.0.9
start cmd /k C:\"Program Files"\Redis-x64-5.0.9\start.bat

choice /t 3 /d y

cd/d C:\FTP\File\IIS\app_api\ToDayServer\ToDayService
start cmd /k C:\FTP\File\IIS\app_api\ToDayServer\ToDayService\todayservice_start_1000.bat

choice /t 3 /d y

cd/d C:\FTP\File\IIS\app_api\ToDayServer\UserService
start cmd /k C:\FTP\File\IIS\app_api\ToDayServer\UserService\userservice_start_2000.bat

choice /t 3 /d y

cd/d C:\FTP\File\IIS\app_api\ToDayServer\JournalismService
start cmd /k C:\FTP\File\IIS\app_api\ToDayServer\JournalismService\journalismservice_start_3000.bat

choice /t 3 /d y

cd/d C:\FTP\File\IIS\app_api\ToDayServer\OcelotGateway
start cmd /k C:\FTP\File\IIS\app_api\ToDayServer\OcelotGateway\ocelotgateway_start_555.bat

好了现在可以双击运行这个启动微服务环境.bat ,手动启动这一服务了。

然后需要在服务器启动并登陆账号后运行这个批处理程序,需要添加任务计划:

  1. 启动服务器管理器,打开 工具->任务计划程序:
  2. 右键任务计划程序,选择 创建基本任务:
  3. 填写名称和描述然后下一步:
  4. 选择“当前用户登陆时”然后下一步:
  5. 选择希望该任务执行什么操作,选择“启动程序”然后下一步:
  6. 选择程序点击浏览选择刚刚创建的启动微服务环境.bat 然后下一步:
  7. 勾选当“完成”时,打开此任务属性的对话框,然后点击完成:
  8. 弹出属性框,选择触发器选项卡,然后双击触发器:
  9. 弹出编辑触发器窗体,勾选激活然后点击确定,大功告成:

这样每次登陆账号时就会运行这个批处理程序了。

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐