基于Clean Architecture的.NET Core 6项目Plesk部署结构咨询
.NET Core 6 清洁架构项目在Plesk服务器上的发布结构安排
核心原则
不需要单独发布每个类库子项目,只需发布作为启动入口的CashFlowMvc.WebUI项目即可。dotnet publish命令会自动将WebUI依赖的所有类库(Domain、Application、Infra.Data、Infra.IoC)的编译产物打包到同一个发布目录中,测试项目(CashFlowMvc.Domain.Tests)无需包含在生产部署里。
本地发布步骤
- 打开终端,进入项目根目录,执行针对WebUI项目的发布命令:
dotnet publish CashFlowMvc.WebUI/CashFlowMvc.WebUI.csproj -c Release -r linux-x64 --self-contained false
-c Release:编译Release版本-r linux-x64:针对Linux x64平台编译--self-contained false:不包含.NET运行时(因服务器已配置.NET Toolkit,复用服务器上的Runtime可减小发布包体积)
- 发布完成后,所有部署所需文件会生成在以下路径:
CashFlowMvc.WebUI/bin/Release/net6.0/linux-x64/publish/
该目录下包含:
- WebUI项目的主程序集(如
CashFlowMvc.WebUI.dll) - 所有依赖类库的dll文件(CashFlowMvc.Domain.dll、CashFlowMvc.Application.dll等)
- 配置文件(appsettings.json、appsettings.Production.json等)
- 静态资源(wwwroot目录下的css、js、图片等)
- 必要的部署脚本和依赖文件
Plesk服务器部署配置
- 将
publish目录下的全部文件复制到Plesk对应的网站根目录(通常是httpdocs),如果需要部署到子路径,可创建子目录(如httpdocs/cashflow)并复制文件到该目录。 - 在Plesk面板中找到对应网站的“托管设置”或“应用程序池”配置:
- 设置.NET Core版本为6.0
- 指定启动程序集为
CashFlowMvc.WebUI.dll(确保文件名与发布目录中的主dll一致)
- 重启网站应用程序池,完成部署。
注意事项
- 确认服务器已安装.NET 6 Runtime(你已配置.NET Toolkit,此步骤可跳过)
- 若需修改生产环境配置,直接修改服务器上的
appsettings.Production.json即可 - 测试项目无需发布,避免不必要的文件占用服务器资源
内容的提问来源于stack exchange,提问作者Eduardo Spada
相关产品推荐
相关产品推荐

