.net core service && angular项目 iis发布
项目结构
.net core 后端服务站点
angular 前端页面站点
.net core 后端服务站点发布到IIS
发布报错
.Net Core使用IIS部署出现502Error 502.5 - Process Failure
在项目目录运行命令行,执行
dotnet XXXWeb.dll --XXXWeb.dll是启动项
如果.net core版本不对,则会提示需要安装某版本的.net core
完成安装即可
参考资料
appsettings.json
在appsettings.json中设置客户端地址ClientRootAddress
"App": {
"ServerRootAddress": "http://localhost:3521/",
"ClientRootAddress": "http://localhost:4201/",
"CorsOrigins": "*"
}
注意
发布前记住关闭swagger ui等开发工具
关闭swagger ui,可以选择删去.xml文件,则swagger页面会报错
angular前端页面站点
在angular项目文件中执行
ng build --prod --aot
解决相关报错,生成dist文件夹,包括
bundle
XXX --XXX是你的项目名
在IIS中,新建站点,将XXX文件夹作为根目录
在XXX文件夹中新建文件web.config
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="AngularJS" stopProcessing="true">
<match url=".*" />
<conditions logicalGrouping="MatchAll">
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
</conditions>
<action type="Rewrite" url="/" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
在/XXX/assets/appconfig.prod.json中设置service地址remoteServiceBaseUrl
{
"remoteServiceBaseUrl": "http://localhost:3521"
}
因为Angular无刷新的特性,所以浏览器地址栏上的网址其实不会映射到磁盘的特定位置,所以我们需要安装Microsoft URL Rewrite Module 2.0 for IIS (x64)
注意Angular项目所在目录的访问权限,可以设置为EveryOne
参考资料
学习技术最好的文档就是【官方文档】,没有之一。
还有学习资料【Microsoft Learn】、【CSharp Learn】、【My Note】。
如果,你认为阅读这篇博客让你有些收获,不妨点击一下右下角的【推荐】按钮。
如果,你希望更容易地发现我的新博客,不妨点击一下【关注】。