本指南详细介绍在 Windows Server 2022 上部署 ZhonTai 项目完整流程,包括环境配置、后端/前端项目发布、Nginx 配置及服务部署。
一、服务器准备
1.1 购买服务器
按需购买云服务器,可点击 云产品特惠 了解详情。
1.2 选择操作系统
选择 Windows Server 2022 作为服务器操作系统。
1.3 关闭自动更新
提示:建议关闭 Windows 自动下载更新功能。
- 按
Win + R打开运行对话框,输入cmd,按Ctrl + Shift + Enter以管理员身份打开命令提示符 - 在命令行中输入
sconfig,按 Enter - 选择
5(更新设置),按 Enter - 选择
3(手动),按 Enter
二、环境安装
2.1 必需软件
| 软件 | 用途 | 下载地址 |
|---|---|---|
| Google Chrome | 浏览器 | 下载地址 |
| Microsoft Edge | 浏览器 | 下载地址 |
| nginx | 反向代理服务器 | 下载地址 |
| Notepad++ | 文本编辑器 | 下载地址 |
| WinSW | Windows 服务注册工具 | 下载地址 |
| Beekeeper Studio | 数据库管理工具 | 下载地址 |
2.2 数据库安装
下载 PostgreSQL (Windows zip 版本) 并完成安装。
2.3 .NET 运行时安装
在 Windows 上部署建议安装托管捆绑包(包括 .NET 运行时和 IIS 支持)。
安装步骤:
- 访问 .NET 10.0 运行时下载页面,点击下载
- 在下载页面中选择 Windows 运行服务器应用,点击下载 Hosting Bundle
验证安装:
1 | # 查看已安装的运行时 |
注意:开发的 .NET 运行时版本必须与服务器安装的版本保持一致。
三、发布后端项目
以 Admin.Core 项目为例进行发布说明,项目模板生成的项目操作方法类似。
3.1 修改数据库实现包
在 Host 项目中找到依赖包配置,删除 SQLite 引用:
1
2<!-- 删除此行 -->
<PackageReference Include="FreeSql.Provider.Sqlite" Version="3.5.308" />添加 PostgreSQL 引用:
1
<PackageReference Include="FreeSql.Provider.PostgreSQL" Version="3.5.308" />
最终 ItemGroup 配置示例:
1
2
3
4
5
6
7
8
9
10
11
12<ItemGroup>
<!-- 其他数据库驱动(可选注释) -->
<!-- <PackageReference Include="FreeSql.Provider.MySql" Version="3.5.308" /> -->
<!-- <PackageReference Include="FreeSql.Provider.SqlServer" Version="3.5.308" /> -->
<!-- <PackageReference Include="FreeSql.Provider.Oracle" Version="3.5.308" /> -->
<!-- <PackageReference Include="FreeSql.Provider.Sqlite" Version="3.5.308" /> -->
<PackageReference Include="DotNetCore.CAP.Dashboard" Version="10.0.1" />
<PackageReference Include="DotNetCore.CAP.InMemoryStorage" Version="10.0.1" />
<PackageReference Include="FreeSql.Provider.PostgreSQL" Version="3.5.308" />
<PackageReference Include="Savorboard.CAP.InMemoryMessageQueue" Version="10.0.0" />
</ItemGroup>
3.2 修改配置文件
- 修改
ConfigCenter/dbconfig.json数据库配置(参考文档新建数据库) - 修改
ConfigCenter/jwtconfig.jsonJWT 配置,重新生成 GUID 并修改securityKey
3.3 发布项目
- 右键点击 Host 项目,选择 发布
- 配置发布选项(根据实际情况调整)
3.4 运行项目
- 双击
ZhonTai.Host.exe运行程序
提示:首次启动会创建数据库并初始化数据,完成后需关闭程序。
3.5 首次运行后配置
关闭程序后,修改
dbconfig.json:1
2
3
4
5{
"curd": false,
"createDb": false,
"syncStructure": false
}重新启动
ZhonTai.Host.exe,应显示以下日志:1
2
3
4
5
6
7Application startup
...
### CAP started!
Overriding address(es) 'http://*:18010'.
Binding to endpoints defined via IConfiguration and/or UseKestrel() instead.
Now listening on: http://[::]:18010
Now listening on: http://[::]:18011根据
appconfig.apiUI.routePrefix配置的路径访问:1
http://localhost:18010/doc/admin
四、发布前端项目
4.1 构建项目
方式一:点击 NPM 脚本 下的 build 脚本
方式二:按 Ctrl + 反引号(`)打开命令窗口,执行:
1 | pnpm run build |
4.2 发布文件
构建成功的文件位于 dist 目录内。
五、Nginx 部署
5.1 安装 Nginx 服务
5.1.1 配置 WinSW
- 将
WinSW-x64.exe复制到 nginx 安装目录,重命名为nginx-service.exe - 在
nginx-service.exe所在目录下新建nginx-service.xml配置文件:
1 | <service> |
更多 WinSW 配置请参考 官方文档。
5.1.2 安装服务
- 在
nginx-service.exe所在目录下,以管理员身份打开命令提示符 - 执行以下命令安装并启动服务:
1 | # 安装服务 |
5.1.3 WinSW 常用命令
| 操作 | 命令 |
|---|---|
| 安装服务 | nginx-service.exe install |
| 卸载服务 | nginx-service.exe uninstall |
| 停止服务 | nginx-service.exe stop |
| 启动服务 | nginx-service.exe start |
5.2 Nginx 配置
1 | worker_processes 1; |
六、服务部署
6.1 NSSM 安装接口服务
NSSM(Non-Sucking Service Manager)可将任何可执行程序包装为 Windows 服务,支持进程守护和自动重启功能。
6.1.1 下载与安装 NSSM
- 访问 NSSM 官网下载页面
- 下载
nssm-2.24.zip并解压到指定目录(如D:\tools\nssm) - 建议将
nssm.exe所在路径添加到系统环境变量PATH中
6.1.2 NSSM 常用命令
| 操作 | 命令 |
|---|---|
| 安装服务 | nssm install <服务名> |
| 修改服务 | nssm edit <服务名> |
| 启动服务 | nssm start <服务名> |
| 停止服务 | nssm stop <服务名> |
| 重启服务 | nssm restart <服务名> |
| 删除服务 | nssm remove <服务名>(加 -confirm 跳过确认) |
| 查看状态 | nssm status <服务名> |
6.1.3 安装 .NET API 服务
准备发布文件:将 .NET API 发布文件放置于 D:\publish\myapi 目录
安装服务:
在 NSSM 目录下(若已添加环境变量,可在任意位置),以管理员身份打开命令提示符
执行安装命令:
1
nssm install MyCompany.MyApi
在弹出的 NSSM 配置窗口中填写配置:
配置项 说明 示例值 Application Path dotnet.exe 所在路径 C:\Program Files\dotnet\dotnet.exeApplication Startup directory 应用接口 DLL 所在目录 D:\publish\myapiApplication Arguments 应用接口 DLL 文件名 MyApi.dllService name 服务名称 MyCompany.MyApiDetails Display name 显示名称 MyCompany.MyApiDetails Discription 描述信息 公司模块接口 点击 Install service 按钮完成安装
6.1.4 启动与验证服务
方式一:使用 NSSM 命令
1 | nssm start MyCompany.MyApi |
方式二:使用 Windows 服务管理器
- 按
Win + R,输入services.msc并回车 - 找到
MyCompany.MyApi,右键选择 启动
6.1.5 高级配置(可选)
- 日志输出:在 I/O 配置项中指定
stdout和stderr日志文件路径(如D:\logs\myapi\stdout.log) - 服务依赖:在 Dependencies 中添加依赖服务名称(如
ZhonTai.Admin)
6.1.6 常见问题排查
问题一:服务启动后立即停止
- 检查
dotnet.exe路径是否正确 - 双击启动
MyApi.exe,在命令行中查看运行日志是否正常 - 检查 NSSM 配置的日志文件
问题二:访问 18010 端口失败
- 确认服务已成功启动
- 检查
AppConfig.json中AppConfig.urls配置是否为http://*:18010 - 检查防火墙入站规则
6.2 WinSW 安装接口服务
6.2.1 配置 WinSW
- 将
WinSW-x64.exe复制到publish/MyApi.dll所在目录,重命名为myapi-service.exe - 在同一目录下新建
myapi-service.xml配置文件:
1 | <service> |
6.2.2 安装并启动服务
在
myapi-service.exe所在目录下,以管理员身份打开命令提示符执行以下命令:
1
2
3
4
5# 安装服务
myapi-service.exe install
# 启动服务
myapi-service.exe start
七、IIS 部署
7.1 安装 IIS
- 打开 服务器管理器
- 点击 管理 → 添加角色和功能
- 选择 基于角色或基于功能的安装,点击 下一步
- 选择目标服务器,点击 下一步
- 在 服务器角色 页面勾选 Web 服务器 (IIS)
- 在 功能 页面选择相关功能(如 .NET Framework、ASP.NET),点击 下一步
- 在 Web 服务器角色 (IIS) 页面:
- 安装基本功能
- 若使用消息推送中的 WebSocket 功能,需额外勾选:
- Web 服务器 → 应用程序开发 → WebSocket 协议
- 点击 下一步,确认安装选择后点击 安装
7.2 后端部署
- 在 IIS 中右键 网站,选择 添加网站
- 配置网站参数(参考项目实际配置)
- 访问 API 接口文档地址:
1
http://localhost:16010/doc/admin/index.html
7.3 前端部署
- 在 IIS 中右键 网站,选择 添加网站
- 配置网站参数(参考项目实际配置)
- 访问前端网站地址:
1
http://localhost:9010
八、常见问题
页面访问正常,刷新 404 错误
如遇页面刷新后出现 404 错误,请参考 页面访问正常-刷新 404 错误修复方案。
九、服务管理速查表
NSSM 命令
1 | # 安装服务 |
WinSW 命令
1 | # 安装服务 |
温馨提示:部署过程中遇到问题,请优先检查日志文件和服务状态确认配置是否正确。
#Windows #Windows/环境配置 #中台 #中台/搭建项目框架 #配置文件