.net core 在IIS上发布502问题

本来迁移一个项目到.net core就是一件体力活,要找各种替代包,还有一些函数/属性的不支持

总之很头疼...

不要问我为什么用了.net core还要Host在IIS上,国内用.net的公司普遍都是Windows Server,一时半会儿估计是转换不过来了

至于发布嘛,vs2017上的操作和其他版本的vs发布一样,发布完后文件夹里面文件从数量上就复杂多了

服务器环境:windows server 2008 r2

如果服务器没有外网,还得准备一个C++ 的安装包,官方的链接2015可再发行的版本404了

装一个2010的应该也没问题,目前没试过行不行,自行下载尝试

Microsoft Visual C++ 2010 Redistributable Package (x86)

Microsoft Visual C++ 2010 Redistributable Package (x64)

Host到IIS必备安装程序:DotNetCore.1.0.4_1.1.1-WindowsHosting.exe

地址:https://go.microsoft.com/fwlink/?linkid=844461

这个安装程序会自动安装一个1.0.4和1.1.1的.net core的Runtime

还有一个IIS的ASP.NET Core Module,提供IIS和Kestrel Server间的反向代理

装完之后呢,就跟以前发布web一样,创建应用程序池,拷贝文件到web目录下什么的

这里应用程序池.NET CLR版本要改为 无托管代码

 

改完后启动应用程序池,然后浏览网页

这里正常情况下会报个错502.5

 

用微软的东西,按照正常发布流程走下来,然后正常的,自己都觉得不正常了

这个安装的ASP.NET Core Module启动的时候,运行了一个dotnet [你项目名字].dll的命令,如果这个命令运行正常,基本问题也不大了

所以我直接把cmd定位到web发布目录下,运行这个命令,这个应该是运行时版本问题

所以我直接在 https://www.microsoft.com/net/download/core#/runtime 下载了1.1.2版本的Runtime

然后重启电脑或者运行以下两个命令,按顺序运行

net stop was /y

net start w3svc

注意生产环境第一个命令会导致IIS服务关闭,慎重!

最后附上一个微软的官方说明地址

https://docs.microsoft.com/en-us/aspnet/core/publishing/iis

如果以上问题刚好也是您遇到的,能帮助到你,请帮忙推荐一下吧!

 

posted @   阿弥陀佛呵呵哒  阅读(4454)  评论(1编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
点击右上角即可分享
微信分享提示