Skip to main content

部署 Windows 版本

基于Windows平台部署时,需要服务器环境具备以下要求:

环境要求

  • Windows Server 2016 及以上
  • IIS Service
  • PostgreSQL 17 及以上
  • 安装.Net 8 Runtime

部署步骤

1. 创建服务目录结构

基于规划中预定义的服务目录结构,创建类似如下的目录结构。
D:\flyenter
-----------\hamster
----------------------\portal
----------------------\slaver
----------------------\scheduler
----------------------\logs
----------------------\working_folder

2. 安装 IIS 服务

确保系统中安装了IIS服务,并确认Web Server(IIS)服务中选择如下服务:

  • Common HTTP Features - HTTP Redirection /常见HTTP功能 - HTTP重定向
  • Application Development - WebScoket Protocal /应用程序开发 - WebSocket协议

3. 安装.Net8 托管捆绑包

因为仅部署系统,不需要额外安装SDK包,仅托管捆绑包既可以。 官网地址

4. 确认 IIS 环境服务

打开IIS服务,在服务器对应的模块(Modules) 确认下述服务可以查找到。 IIS server

5. 部署 RabbitMQ

  • 默认安装otp
  • 默认安装rabbitmq

运行RabbitMQ Command菜单,运行下述命令,来启动管理界面:

C:\Program Files\RabbitMQ Server\rabbitmq_server-4.0.5\sbin>rabbitmq-plugins enable rabbitmq_management

再使用RabbitMQ stop停止服务,再使用RabbitMQ start启用服务。 登陆本地浏览器: http://127.0.0.1:15672 可以访问Rabbit MQ的管理界面。 创建管理员角色账号:hamster / hamster123

注意:如果访问的RabbitMQ管理台页面有黄色的预警提示,如:All stable feature flags must be enabled after completing an upgrade,则需要启用所有稳定的功能标志来关闭它。 进入Feature Flags页面,找到状态为 “disabled” 的稳定功能标志(名称通常以 “stable” 标识); 点击对应标志的 “Enable” 按钮,启用所有稳定标志。警示条可以消失。

6. 部署 PostgreSQL

  • 默认安装PostgreSQL
  • 安装Admin工具
  • 创建系统运行库,并导入
    • hamster_support_v8
    • hamster_support_log_v8
    • hamster_support_hf_v8

7. 部署站点和Windows服务

1. 解压安装包

解压hamster_portal_win_v8.zip文件,并将内容复制到portal根目录下。 解压hamster_scheduler_win_v8.zip文件,并将内容复制到scheduler根目录下。 解压hamster_slaver_win_v8.zip文件,并将内容复制到slaver根目录下。

2. 调整配置文件

  • appsetting.json:包括数据库、工作目录、RabbitMQ等信息
  • NLog.config:包括日志目录信息

3. 创建IIS站点

在IIS中创建名为Hamster Portal的站点,

  • 指定上述创建的D:\flyenter\hamster\portal目录。
  • 指定服务端口,可自定义,默认为40020
  • 保存后,编辑站点对应的应用池信息,改为非托管模式/No Managed Code

4. 部署Windows服务

d:\flyenter\hamster目录下创建服务的部署脚本.

创建Create_xxx_Service.bat文件,文件内容中的路径对应当前真实部署的调度服务目录:

sc create flyenter.hamster.scheduler.v8 binpath= "D:\flyenter\hamster\scheduler\FlyEnter.Hamster.Scheduler.exe" start=auto displayname="Hamster Scheduler Service v8"
sc description flyenter.hamster.scheduler.v8 "Provider the scheduler service for Hamster Data Platform V8."
sc start flyenter.hamster.scheduler.v8

创建服务卸载脚本:

sc stop flyenter.hamster.scheduler.v8
sc delete flyenter.hamster.scheduler.v8