.net core 发布 IIS

2020-03-25  本文已影响0人  NewForMe

第一步,到IIS 创建网站,这个跟以前发布是完全一样的,如下图:


第二步,
与ASP.NET时代不同,ASP.NET Core不再是由IIS工作进程(w3wp.exe)托管,而是使用自托管Web服务器(Kestrel)运行,IIS则是作为反向代理的角色转发请求到Kestrel不同端口的ASP.NET Core程序中,随后就将接收到的请求推送至中间件管道中去,处理完你的请求和相关业务逻辑之后再将HTTP响应数据重新回写到IIS中,最终转达到不同的客户端(浏览器,APP,客户端等)。而配置文件和过程都会由些许调整,中间最重要的角色便是AspNetCoreModule,它是其中一个的IIS模块,请求进入到IIS之后便立即由它转发,并迅速重定向到ASP.NET Core项目中,所以这时候我们无需设置应用程序池来托管我们的代码,它只负责转发请求而已。因此,如下图我们需要将此应用程序池设为无托管代码

第三步,打开cmd命令窗口,然后将路径改了项目的根目录,即有sln文件那个目录,然后执行如下命令,
dotnet publish -o D:\test

dotnet publish 为发布命令
-o 后面接刚刚在新建网站的路径

至此,我们就将这个.net core项目成功发布到IIS了

访问测试,一般是访问不了滴


报此错误是因为少了windows server 托管程序,去下载安装接口

.net core2.2 当前 .NET Core 托管捆绑包安装程序(直接下载)

安装完成后直接访问即可。

有时候按照上面的步骤部署完后,可能的服务器环境问题,还会出现以下问题:


大家可以先看着个链接

https://docs.microsoft.com/en-us/aspnet/core/publishing/iis?tabs=aspnetcore2x#tabpanel_tfsY37MhAQ_aspnetcore2x

如果还不能解决

建议把iis的引用程序池的加载用户配置设置为True

这样就可以正常访问。

上一篇下一篇

猜你喜欢

热点阅读