【IIS】必看!全图文介绍,Win11用 IIS 本地部署.net6 网站,轻松实现高效开发与测试

【IIS】必看!Win11用IIS 本地部署.net6 网站,轻松实现高效开发与测试


文章围绕在 Win11 用 IIS 本地部署 .NET 6 网站展开。先介绍安装 .NET Core 托管捆绑包和 IIS 及其配置;接着说明部署本地服务步骤,含打开 IIS、打包项目、添加网站等;又提及开放端口方法;最后针对 HTTP 错误 500.19、403.14 给出解决措施。

一、安装.net Core 托管捆绑包

1、确定版本

注意:.net 6是已经停止维护了的版本,最新版本已经到.net 9了。但是目前公司内部的系统还是用的6,所以本文还是写的.net6

下载地址:https://dotnet.microsoft.com/en-us/download/dotnet/6.0

在这里插入图片描述

2、下载并安装.net 6版本的包

我这里下载的是6.0.11的版本,你使用其他的版本也行,但是要一整套的下载,不要一个是6.0.11,一个是6.0.36的。

图中标注的都需要进行下载,分别是SDKRuntime(X64)Runtime(X86)Hosting Bundle这四个。

在这里插入图片描述

下载完成后,打开控制面板中的程序,你可以看到以下内容:

在这里插入图片描述

二、安装IIS及其配置

打开控制面板,找到程序中的【启用或关闭Windows功能】

或者打开运行(win+R),输入OptionalFeatures也是一样的效果。

在这里插入图片描述

打开以后点击勾上如图所示的配置,其中【Internet Information Services 可承载的Web核心】和【万维网服务】中的【应用程序开发功能】必须要勾选,其他的可以根据情况勾选。

在这里插入图片描述

等待系统进行安装,这个过程需要耗费几分钟的时间,直到出现直到出现“Windows已完成请求的更改”。安装好以后,最好重启一下,确保刚刚安装的已经生效了。

在这里插入图片描述

重启过后,在浏览器的地址栏中输入localhost,会显示iis的默认页面,如下图所示,如果出现那么说明你的iis安装成功了。

在这里插入图片描述

三、部署本地服务

1、打开IIS

在搜索栏中搜索iis,然后使用管理员权限打开。或者打开计算机管理控制台:(win+R)-> compmgmt.msc

在这里插入图片描述

打开以后的IIS是这个样子的,如图所示:

在这里插入图片描述

如果是使用的(win+R)-> compmgmt.msc打开的,那么页面如下:

在这里插入图片描述

2、打包项目(已打包可跳过)

如果这个时候你还不知道如何发布.net程序的,请参考这一步的操作过程。

打开VS2022,在上方的操作栏找到生成->发布(项目名)

在这里插入图片描述

或者你可以在右侧【解决方案管理器】中,右键你的启动项,然后点击发布

在这里插入图片描述

点击发布,项目就开始打包了,随后你可以打开文件夹,查看文件在电脑上的位置,记住这个位置,稍后发布网站时有用。

在这里插入图片描述

3、添加网站

在这里插入图片描述

在iis中打开折叠的主机,找到【网站】,右键【网站】,点击【添加网站】。

在这里插入图片描述

打开后会出现添加网站的弹窗,填写对应的信息,选择刚刚发布的项目地址,这个地址需要选择到publish这一级。IP地址选择自己电脑的IP即可,端口选择1024~49151之间的端口。

在这里插入图片描述

点击确定后,你的网站就开始运行了。左侧网站目录下将会出现你刚刚部署的网站,你可以点击右侧操作中的浏览网站进行浏览。

在这里插入图片描述

4、打开目录浏览

打开目录浏览,可以方便后续直接浏览文件。

在这里插入图片描述

在这里插入图片描述

四、开放端口

这个时候还只能在你的电脑上访问,但是你同事的电脑还是访问不了,需要你将你电脑上的防火墙关闭,或者在防火墙中开放刚刚部署时对应的端口,才能在局域网中进行访问。

在搜索中输入【Windows Defender】,找到高级安全Windows Defender 防火墙,以管理员身份运行。

在这里插入图片描述

1、关闭防火墙

打开防火墙后,可以选择将防火墙关闭,但是访问结束后记得开启了,保护好自己的电脑。

在这里插入图片描述

2、开放端口

还是在防火墙的窗口,点击左侧的【入站规则】,点击右侧的【新建规则】

在这里插入图片描述

选择端口,点击下一页

在这里插入图片描述

输入部署时的端口,点击下一页

在这里插入图片描述

这里默认选择允许连接就行,点击下一页

在这里插入图片描述

默认全选,点击下一页

在这里插入图片描述

取一个好记,通俗易懂的名称,点击完成即可。

在这里插入图片描述

创建出站规则,开放选择的端口,操作方法与创建入站规则时一样

五、常见问题解决措施

1、HTTP 错误 500.19 - Internal Server Error

在这里插入图片描述

这个问题说明读取 Web 服务器或 Web 应用程序的配置文件出现问题 。可以参考以下方法解决:

  1. 检查 IIS 服务及依赖服务:确认 IIS 服务已正确安装。同时,IIS 依赖的 World Wide Web Publishing Service(W3SVC)Windows Process Activation Service(WAS)等服务需启动并运行。可在 “服务” 管理器中查看状态。
  2. 排查端口冲突:运行命令 “netstat -ano” 查看端口使用情况,若 IIS 使用的端口(如 80、8026 )被其他应用占用,可更改 IIS 端口或停止冲突应用。
  3. 检查配置文件和权限
    • 确保配置文件web.config未损坏或被不当修改。
    • 确认 IIS 所需文件夹(包括网站根目录、配置文件所在目录等)权限设置正确,保证 IIS 有读取和写入权限。
  4. 重新注册 IIS 相关组件:以管理员权限打开命令提示符,依次运行以下命令:
    • %windir%\system32\inetsrv\appcmd.exe reset config /section:system.webServer/httpCompression
    • %windir%\system32\inetsrv\appcmd.exe reset config /section:system.webServer/modules
    • %windir%\system32\inetsrv\appcmd.exe reset config /section:system.webServer/handlers
    • iisreset
  5. 查看日志文件:IIS 错误日志通常在 % SystemDrive%\inetpub\logs\LogFiles 目录,从中获取详细报错信息,以便定位问题根源。

2、HTTP 错误 403.14 - Forbidden

在这里插入图片描述

没有开启目录预览,上面有讲解到如何开启,开启即可。

  1. 目录配置问题
  • 默认文档缺失:IIS 默认会寻找像index.htmldefault.aspx

    这类默认文档来展示内容,如果站点目录下没有配置或没有这类文件,就可能触发此错误。

    • 解决方法:在 IIS 管理器中,找到对应的网站,双击 “默认文档”,确保其中列出了合适的默认文档名称。若没有,可以手动添加,如index.htmldefault.htm等。还可以通过上移或下移按钮调整默认文档的搜索顺序。
  • 目录浏览禁用:IIS 默认可能禁用了目录浏览功能,当没有默认文档可加载,且目录浏览又被禁止时,就会出现该错误。

  • 解决方法:在 IIS 管理器中,选中相应网站或目录,双击 “目录浏览”,在右侧操作栏中点击 “启用”。不过启用目录浏览可能会暴露服务器目录结构,存在安全风险,所以使用时要谨慎。

  1. 权限问题
  • 用户权限不足:IIS 应用程序池的标识用户对网站目录没有足够的读取权限,无法访问目录中的文件。
    • 解决方法:右键点击网站所在的文件夹,选择 “属性”,切换到 “安全” 选项卡。确保 IIS 应用程序池对应的用户(比如IIS APPPOOL\应用池名称IUSR )有读取权限。如果没有,可以点击 “编辑”,添加该用户并赋予读取权限。
  • 继承权限问题:文件夹的权限设置可能没有正确继承,导致子目录或文件权限异常。
  • 解决方法:在文件夹属性的 “安全” 选项卡中,点击 “高级”,在 “高级安全设置” 窗口中,确保 “包括可从该对象的父项继承的权限” 选项被勾选。若未勾选,点击 “更改权限”,勾选该选项后点击 “确定”,让权限正确继承。
  1. 安全策略和防火墙
  • Windows 防火墙或安全软件拦截:服务器上的防火墙或安装的安全软件可能阻止了对该网站目录的访问。

    • 解决方法:暂时关闭防火墙或相关安全软件,看是否能正常访问。如果关闭后能访问,就在防火墙或安全软件中添加允许 IIS 访问该目录的规则。
  • IP 限制策略:IIS 或服务器上配置了 IP 限制策略,禁止了当前访问的 IP 地址。
    策略和防火墙**

  • Windows 防火墙或安全软件拦截:服务器上的防火墙或安装的安全软件可能阻止了对该网站目录的访问。

    • 解决方法:暂时关闭防火墙或相关安全软件,看是否能正常访问。如果关闭后能访问,就在防火墙或安全软件中添加允许 IIS 访问该目录的规则。
  • IP 限制策略:IIS 或服务器上配置了 IP 限制策略,禁止了当前访问的 IP 地址。

  • 解决方法:在 IIS 管理器中,找到 “IP 地址和域限制”,查看是否有针对当前 IP 的限制规则。如果有,将其删除或添加为允许访问。