项目放到iis服务器,在IIS上部署项目总结

本文详细介绍了如何在IIS上部署.NET Core项目,包括发布前的环境配置、打包、设置发布路径、启用IIS、配置网站和解决删除请求报404的错误。此外,还提到了HttpError 502.5的解决方法,强调了.NET Core版本匹配的重要性。
摘要由CSDN通过智能技术生成

发布前的准备

一般情况下先需要安装这三个

2c83ff49b597

image.png

保证项目模块里面有这两个

2c83ff49b597

image.png

查看配置环境

在cmd执行

dotnen --info

2c83ff49b597

image.png

打包项目

鼠标右击你要发布的项目选择发布

2c83ff49b597

20190430094158117.png

配置发布路径(准备一个空的文件夹),选择发布方法为 文件系统

2c83ff49b597

image.png

点击设置,如图配置,切记选择发布前删除所有现有文件

2c83ff49b597

image.png

配置好后点击发布

2c83ff49b597

image.png

发布成功后文件夹里会有很多打包好的文件

2c83ff49b597

image.png

安装IIS管理器

在控制面版中找到程序与功能

2c83ff49b597

image.png

打开启用或关闭Windows功能安装所需要的

2c83ff49b597

image.png

打上勾后点击确定会自动安装,安装好后打开IIS管理器(在开始里面的windows工具里)

2c83ff49b597

image.png

打开IIS管理器配置网站

2c83ff49b597

image.png

填写信息,路径选择刚在打包好的路径

2c83ff49b597

image.png

在 网站 上右击选择 添加网站,输入自定义网站名(可以是项目名,比较好找),选择物理路径(项目发布文件的路径),接下来设置端口号,一定要设置且不能重复。80端口默认的不能使用,随便输入一个没有被用过的即可。主机名不要填,否则别人访问不了。点击确定就好了。

这样你的项目就IIS上布置好了

常见的错误

先配置如何看日志,方便分析错误

1.打包的文件里面有最后面有一个叫web.config的文件,打开文件将

stdoutLogEnabled="false" 改为true 后会生成一个logs文件夹,如果没有手动创建下

日志文件就会在logs文件里。

2c83ff49b597

image.png

连接本机数据库

打开sqlserver选择登录名,右击选择新建登录名

2c83ff49b597

image.png

点击搜索,选择高级,点击立即查找,选择SERVICE后点确定

2c83ff49b597

image.png

2c83ff49b597

image.png

2c83ff49b597

image.png

2c83ff49b597

image.png

2c83ff49b597

image.png

选择服务器角色

2c83ff49b597

image.png

配置IIS应用程序池,选择自己的项目右击选择高级设置,如图改标识

2c83ff49b597

image.png

这样数据库就和项目连上了

在部署项目中遇到的另一个坑,(delete请求报404)

解决方法:

安装IIS的时候如果选择了WebDAV(Web Distribution Authorization Versioning) Publish,则所有的Web Site默认会应用WebDAV Module和WebDAV Handler.

2c83ff49b597

image.png

2c83ff49b597

image.png

WebDAV是基于HTTP协议的扩展,添加了很多Method用于管理服务器上的文件

WebDAV Module和WebDAV Handler

WebDAV Handler的默认配置是处理如下 Method:PROPFIND,PROPPATCH,MKCOL,PUT,COPY,DELETE,MOVE,LOCK,UNLOCK。(可以参考%userprofile%/documents/iisexpress/config/applicationhost.config中的配置)因此PUT和DELETE请求会被Dispatch给WebDAV Handler来处理,但是我们一般不会Enable WebDAV功能。因此Delete和Put请求会被拒绝。

解决办法

既然根本原因是WebDAV,最直接的解决办法就是移除WebDAV(一般情况下我们不会用到该功能)。移除有如下几种方法:

直接从系统中移除WebDAV Publish的整个功能(参考上面打开WebDAV Publish的截图)

在Web Site的web.config中移除WebDAVModule和WebDAVHandler

ASP.Net Core 运行错误 Http Error 502.5 解决办法

Http Error 502.5 - Process Failure

2c83ff49b597

image

如果你看到上面这张图片了的话,说明你在本地运行的时候报错了。

尤其好多都是我的群友,说下情况。

这个一般是本地的.NET Core SDK版本不统一报错造成的。

原因

当时的项目版本为.NET CORE 2.0,所以现在有很多群友下载然后运行就报错了。

现在是因为下载的SDK是2.1 。所以版本对应不上就GG 了。

理论上来说.NET CORE 2.1X是需要进行向下兼容的。但是不知道为什么这把就没有做好。

原因:项目的SDK版本和运营环境的SDK版本对应不上。

解决方案有两种,一种是升级项目的.NET CORE版本,还有一种就是安装对应的.NET CORE版本。

解决思路

首先你要去找你的IIS报错日志,得到的错误代码 ErrorCode = '0x80004005 : 8000808c.是这个的话,那就可以通过我说的办法来解决了。

第一种

通过直接修改web.config 的文件。

2c83ff49b597

image

将 processPath="dotnet"改成你安装的.NET CORE SDK路径,一般默认在"C:\Program Files\dotnet\dotnet.exe"路径下,替换下就可以解决了。

这种一般是常规加临时解决方案,不稳定。

第二种

2c83ff49b597

image

找到对应的大版本,然后里面有具体的版本信息。

但是有个问题,你如果已经装了高版本的SDK,是无法安装低版本的SDK的,所以也不推荐这个办法。

第三种【推荐办法】

升级你项目的SDK.比如https://github.com/52ABP/52ABP.School 的.NET Core版本就是2.0,直接升级到2.1后,发布环境,所有的问题迎刃而解。

.NET Core 还很年轻,大家多给他点时间。相信他会改变不一样的开发环境

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值