Windows 应用部署
Aegis 3.x 应用在 Windows 上的发布与 IIS 托管方式。不讨论 Aegis.Documents 体系依赖的浏览器、LibreOffice、Python 等组件环境。
如果应用启用了文档处理能力,请在完成应用部署后,再补充阅读部署菜单中的 文档组件运行环境。
适用范围
- Aegis
3.x .NET 8- Windows Server + IIS
推荐部署流程
1. 生成发布产物
在构建机执行:
dotnet publish YourApp.csproj -c Release -o .\\publish
将 publish\\ 目录整体复制到目标服务器,例如:
D:\\sites\\your-app
2. 准备 Windows 运行环境
目标服务器建议先确认:
- IIS 已安装
- 已安装
.NET 8 Hosting Bundle - 应用使用的站点目录和日志目录具有可读写权限
3. 在 IIS 中创建站点
推荐步骤:
- 创建或选择一个应用程序池
- 创建站点或应用,并指向发布目录
- 绑定端口、域名或证书
建议的应用程序池基础设置:
.NET CLR 版本:无托管代码托管管道模式:Integrated启用 32 位应用程序:仅在确实依赖 32 位组件时开启
更细的调优参数,继续参考 IIS 应用程序池配置。
4. 准备生产配置
至少确认以下文件或配置项已经到位:
appsettings.Production.json- 连接串、Redis、配置中心等外部依赖
ASPNETCORE_ENVIRONMENT=Production
如果部署后发现配置未生效,优先检查站点环境变量、配置文件位置和发布目录是否一致。
验收清单
- IIS 站点可以正常启动
- 站点首页、Swagger 或业务接口可以访问
- 应用日志正常输出
- 生产配置已生效
- 应用程序池回收后可以自动恢复
常见问题
站点启动后返回 500
优先检查:
.NET 8 Hosting Bundle是否安装- 发布目录是否完整
appsettings.Production.json是否存在- 站点用户对发布目录是否有权限
应用程序池频繁回收
先确认是否是应用本身异常退出,再检查应用程序池的回收策略。具体参数建议见 IIS 应用程序池配置。
应用可以访问,但文档处理失败
这通常不是 IIS 部署本身的问题,而是文档组件运行环境未准备完整。请继续阅读:
文档组件环境准备Windows 文档组件离线准备文档组件 Docker 环境