☰
Win11安装IIS完整指南:从勾选功能到解决404错误
2026/9/25 2:19:42 网站建设 项目流程

前几天同事让我远程帮他在win11上装IIS,他照着网上翻到的教程点了一通,结果localhost打开还是404。我一看系统好家伙,“Internet Information Services”下面只勾了根节点,ASP和ASP.NET全都没装,默认站点压根起不来。说实话,win11安装IIS步骤本身不复杂,真正容易翻车的全在这些细节上。这篇我按自己日常操作的顺序,从打开Windows功能窗口开始,到第一次看到IIS默认页,每一步界面长什么样、该勾什么、该等多久,都尽量给你标清楚,顺手把我在Win11上踩过的坑也拉出来聊聊。适合刚接触IIS的新手,也适合那些在Win10老教程里找不到入口的迁移用户。

1. 准备工作:安装IIS前先弄清这三个问题

1.1 系统版本决定IIS的功能完整度

Win11家庭版和专业版都能装IIS,但功能完整度差不少。家庭版虽然能勾上基本IIS选项,可一旦展开到“应用程序开发功能”这一层,ASP.NET 4.8这类组件经常会弹提示说无法安装,或者装完之后IIS管理器里有些图标是灰的。如果你打算在本地跑ASP.NET、做Web API调试,或者以后要部署带数据库的站点,我建议直接用专业版,省得后面折腾“win11家庭版升级专业版”那套流程。

怎么确认自己是什么版本?打开“设置→系统→系统信息”,在“Windows规格”里能看到版本、版本号和系统类型。顺便说一句,Win11的版本号更新很快,从24H2到26H2再到27H2都有人问。我实测在不同版本上打开“Windows功能”对话框,界面和层级基本一致,入口位置反而差异更大。26H2把“可选功能”入口挪到了“系统”分类下面,如果你照着旧教程在“应用”里翻,十有八九找不到。

1.2 管理员权限和系统组件依赖

安装IIS必须要有管理员权限。你用一个普通账户登录,就算打开了“启用或关闭Windows功能”,点确定后系统也会弹“请提升权限”的提示。最省事的办法是右键开始菜单,选择“终端(管理员)”或者“Windows PowerShell(管理员)”,在里头敲命令打开功能窗口,这样一步到位。

另外还有一个隐藏依赖:IIS安装过程会用到系统组件库和.NET Framework。很多人为了省事,用各种工具把“win11关闭自动更新”给彻底禁了,结果装IIS的时候进度条卡在“正在应用所做的更改”一个小时都不动。这不是IIS本身的问题,是组件拉取的源头被断了。我的建议是安装IIS之前先把系统更新服务恢复正常,装完再关也不迟。如果非要离线装,可以试试用管理员PowerShell执行下面这条命令:

dism /online /enable-feature /featurename:IIS-WebServer /All /NoRestart

这条命令会让部署映像服务和管理工具直接从本地组件库拉取IIS功能,但它依然依赖系统文件完整性,所以别指望它能绕过所有问题。

1.3 安装前的网络和防火墙思路

IIS安装不要求电脑一定连着网,但如果你勾选了某些“按需功能”,系统可能会尝试从Windows Update在线拉取。网络不好、Windows Update服务被禁,都有可能报0x800F0954错误。排查时先确认“Windows Update”服务是启动状态,在服务管理器里看到状态是“正在运行”再继续。

防火墙这块,IIS装完系统会自动创建“万维网服务(HTTP)”的入站规则,但Win11的防火墙配置文件把公用网络管得比较严,经常出现本机能访问、局域网其他电脑访问不了的情况。安装前最好先看清楚当前网络是“专用”还是“公用”,后面我在验证一节再细说放行方法。

2. win11安装IIS步骤图解:逐项勾选Windows功能

2.1 打开“Windows功能”窗口的三种方式

最推荐的方式是快捷键Win+R,在弹出的运行框里输入 optionalfeatures,然后回车。这个命令从Win10到Win11一直通用,不管界面改成什么样,它始终有效。第二种方式是“设置→系统→可选功能→更多Windows功能”,但26H2及以上版本把入口挪到了“系统”分类里,很多人找不到。第三种是“控制面板→程序→启用或关闭Windows功能”,需要先切成大图标或小图标视图才能看到。

打开后你会看到一个列表界面,左侧是复选框,右侧是功能说明。第一次打开时列表加载可能要等上十几秒,这是正常的。如果转圈超过几分钟还没出现,多半是组件服务出了问题,这个我放到文末“常见问题”里细讲。界面里向下滚动找“Internet Information Services”,没装之前它的复选框是空白的,里面所有子项也都是未勾选状态。

2.2 IIS功能勾选清单(本地开发和生产环境通用)

这是整篇最容易踩坑的地方。很多人只勾了“Internet Information Services”根节点就点确定,装完后IIS确实能启动,但只能显示静态HTML,ASP、ASP.NET、CGI全都没有。正确做法是展开根节点,一层一层把要用的子项勾上。我整理了一份日常用的勾选清单:

功能类别建议勾选内容说明
Web管理工具IIS管理控制台必勾,否则没有图形化管理界面
万维网服务→常见HTTP功能静态内容、默认文档、HTTP错误、目录浏览前三个基本必勾,目录浏览调试时可以打开,生产建议关闭
万维网服务→应用程序开发功能ASP.NET 4.8、ASP、CGI、ISAPI扩展、ISAPI筛选器按你实际要跑的网站类型选,不确定就全勾
万维网服务→运行状况与诊断HTTP日志、请求监视、跟踪、自定义错误强烈建议全勾,日志和排错都靠它
万维网服务→性能功能静态内容压缩、动态内容压缩勾上之后网页加载速度有明显提升
FTP服务器不需要就别装多一个功能多一个攻击面

很多人在“应用程序开发功能”这层找不到“ASP.NET 4.8”,原因是系统里根本没装对应的.NET运行时。家里用Win11的话,建议先在“设置→系统→可选功能”里把“.NET Framework 4.8”装上,再回来勾IIS功能。另外“ASP”和“ASP.NET”是两个不同的东西,ASP是经典脚本,跑老系统用的;ASP.NET是托管框架。你项目是 .asp 后缀就勾“ASP”,是 .aspx 后缀就勾“ASP.NET 4.8”。

2.3 等待安装时的界面变化和重启判断

点确定之后,窗口上方会弹出一个进度条,先显示“正在搜索 Windows 功能”,然后变成“正在应用所做的更改”。正常情况下,Win11上这个过程1到3分钟就能走完。进度条走满后,有些系统版本会提示“Windows已设置好以下功能:Internet Information Services”,有些会直接要求重启。

我的经验是,只要条件允许,提示重启就直接重启,别用“稍后重启”拖着。IIS安装涉及系统组件注册,有些服务必须重启后才生效。如果你在安装过程中遇到进度条长时间不动,先别急着强制关机。打开服务管理器看一眼“Windows Modules Installer”服务,服务名是TrustedInstaller,如果它被禁用了,安装过程就会卡死。恢复成“手动”并启动,重新点一次安装基本就能过。

3. 安装完成后的验证与IIS管理器首访

3.1 验证IIS是否真正运行

装完先别急着建网站,先确认三件事。第一,按Win键搜索“IIS管理器”,或者直接Win+R输入 inetmgr,看能不能打开管理控制台。能打开基本说明核心组件装好了。第二,Win+R输入 services.msc,在服务列表里找“World Wide Web Publishing Service”,它的缩写是W3SVC,确认状态是“正在运行”、启动类型是“自动”。第三,以管理员身份打开命令提示符,执行 iisreset /status ,输出结果会提示IIS服务是否在运行。

有些人在开始菜单里找不到“IIS管理器”图标,因为Win11把它归类到了“Windows 工具”文件夹下面,不在最近添加里。直接用 inetmgr 命令最稳,Windows会把快捷方式生成出来。

3.2 本机访问localhost出现什么页面算成功

打开浏览器访问http://localhost,如果安装成功,应该能看到IIS的默认欢迎页。Win11中文版默认页面和Win10差不多,一个蓝色背景的Windows标志,加上“Welcome”或者“Windows”字样。看到这个页面就说明IIS已经跑起来了。

如果你访问localhost时看到的是404或者403,别慌,这不一定代表安装失败。404多半是默认网站的物理路径被改过,或80端口被别的软件抢了;403通常是因为默认文档没配。一个实用的测试方法是访问http://localhost/iisstart.htm,这个文件是IIS自带的一个测试页,如果它能打开,说明服务完全正常,问题出在默认文档配置上。

3.3 第一次创建网站前的必要配置

确认默认页能访问后,我建议立刻做三件事,省得后面正式部署时手忙脚乱。

第一,在IIS管理器左侧点击“应用程序池”,确认“DefaultAppPool”或者“.NET v4.5”对应池的状态是“已启动”。如果这里显示停止,多半是.NET运行时没装好,启动时会报错。第二,右键“网站”选择“添加网站”,站点名称随便填,物理路径指向一个有真实文件的目录,端口可以先用8080测,绑定IP填“全部未分配”,完成后用http://localhost:8080访问测试。第三,双击站点功能视图里的“默认文档”,把index.html、index.asp、default.aspx这些常用的文档名加进去,不然直接访问根路径会撞上403。

4. 高频场景:IIS上线前的进阶配置与避坑记录

4.1 让IIS真正支持ASP和ASP.NET

默认IIS装完之后对ASP的支持并不完整,很多人兴致勃勃部署了一个老项目,结果访问 .asp 页面变成了文件下载,或者直接404。这个问题的根源就是前面说的“应用程序开发功能”里没勾ASP。勾上之后还有两个隐藏坑。

第一个坑是“启用父路径”。传统ASP经常用../这样的相对路径写法,IIS出于安全考虑默认不允许,页面访问时会报“Active Server Pages error 'ASP 0131'”。解决办法是:在IIS管理器里选中你的站点,双击功能视图里的“ASP”,找到“行为”分组下的“启用父路径”,改成True,然后右侧点“应用”。第二个坑是应用程序池的托管管道模式。跑经典ASP代码时,把对应站点的应用程序池的“托管管道模式”设为“经典”更稳妥;跑ASP.NET Core或MVC5这类现代框架,用“集成”模式更合适。两者换错了,页面会抛500.24错误。

如果你的ASP项目还要连数据库,哪怕是局域网里另一台机器上的SQL Server,也得注意两件事:数据库服务器防火墙要放行1433端口,应用程序池的“启用32位应用程序”要按项目实际编译平台来设置。不匹配的话,连接字符串写得再对也会报“提供程序未注册”之类的错。

4.2 IIS日志怎么看、怎么分析

IIS日志是排查问题的第一现场。日志默认存放在C:\inetpub\logs\LogFiles\W3SVC1\目录下,文件名类似u_ex260101.log。如果你进IIS管理器发现站点功能视图里没有“日志”图标,或者这个目录压根不存在,说明装IIS时“HTTP日志”这项没勾,回头补上就行。

日志默认使用W3C扩展格式,每条记录包含时间戳、客户端IP、请求方法、URI、状态码、User-Agent等字段。这里有个容易踩的坑:IIS日志里的时间默认是UTC时间,不是北京时间,你统计PV时发现差8个小时,别以为系统时区错了。想看最近日志,可以直接用PowerShell读取:

Get-Content C:\inetpub\logs\LogFiles\W3SVC1\u_ex260101.log | Select-Object -Last 50

真正要分析大量日志时,推荐用LogParser或者直接把日志导入Excel透视表。要看哪些URL请求最多,按cs-uri-stem分组统计就行。另外提醒一句,IIS日志默认按天切割,但如果你站点流量大或调试频繁,可以在“日志”功能里把“日志文件大小上限”调小,比如10MB,避免单文件过大影响写入性能。

4.3 多个网站共享同一个IIS的正确绑定方式

“同一台IIS服务器上放置多个Web网站”是很多新手会问的问题。原理很简单,HTTP请求头里带了一个Host字段,IIS收到请求后根据这个Host字段决定把请求交给哪个站点。所以只要在站点“绑定”里填不同的主机名,同一IP同一端口就能跑多个网站。比如在IIS里把站点A的主机名设为a.com,站点B的主机名设为b.com,再把域名解析都指向这台机器,访问a.com和b.com就会分别到达两个站。

如果没有域名,就用不同端口区分,比如一个站点绑8080,另一个绑8081,但这样用户访问时得带端口号,体验不好。还有一个细节:主机头这个机制只对HTTP有效,到了HTTPS场景,IIS需要用SNI功能来区分,在绑定界面勾选“需要服务器名称指示”,每个站点对应各自的SSL证书,否则多个HTTPS站点会共用一个证书,报错“证书不匹配”。

4.4 HTTPS证书与HTTP重定向的几个坑

给IIS站点上HTTPS,流程是先在服务器上导入证书文件,然后在站点“绑定”里添加https类型,选择对应证书。这里面最常见的坑有两个。

第一个坑是证书导入位置不对。IIS管理器里绑定界面列出的证书,必须放在“本地计算机”的“个人”存储里,很多人用Windows证书导入向导时默认选了“当前用户”,结果IIS里怎么刷新都看不到证书。正确做法是Win+R输入 certlm.msc,打开本地计算机证书管理器,把PFX证书导入到“个人→证书”节点。第二个坑是换证书后IIS管理器列表不刷新,新证书导入半天看不到。处理方法是重启一下IIS服务,在管理员命令行执行iisreset /restart,再重新打开站点绑定界面,列表一般就刷新出来了。

如果你想把HTTP请求强制跳转到HTTPS,可以用IIS自带的“HTTP重定向”功能。选中站点,双击“HTTP重定向”,勾选“将请求重定向到此目标”,目标地址填https://你的域名,状态码选301。假如这个配置不生效,检查一下是不是装了URL Rewrite模块,规则之间产生优先级冲突了。生产环境还有一个细节:浏览器端已经强制HTTPS后,记得把“HTTP重定向”里的“仅将请求重定向到此目录中的内容”按需勾选,避免目录结构串台。

5. 常见问题排查速查表:Win11装IIS翻车实录

5.1 打开功能窗口报错或一直转圈

症状是Win+R输入optionalfeatures后,窗口半天不出来,或者直接弹“尝试读取 C:\Windows\servicing\Packages”之类的错误。问题绝大多数出在系统组件服务上。排查顺序建议如下:

第一步,Win+R输入 services.msc,找到“Windows Modules Installer”服务,服务名是TrustedInstaller,把启动类型改成“手动”,如果当前是停止状态就启动它。第二步,用管理员身份打开命令提示符,执行sfc /scannow检查系统文件完整性。第三步,如果还不行,检查“SoftwareDistribution”目录是否被手动清理过,这个目录是Windows更新缓存,有些优化工具会把它干掉,导致功能安装时找不到需要的包。最后一步是执行dism /online /cleanup-image /restorehealth修复系统组件存储。

老实说,我在Win11上遇到过两次这种问题,一次是用了第三方优化工具勾了“禁用系统更新”,另一次是手动把服务禁了。后来恢复服务后重新打开就正常了。

5.2 安装卡住、重启后IIS消失

症状是安装进度条卡在“正在应用所做的更改”超过二十分钟,或者按提示重启后,再打开“Windows功能”一看,“Internet Information Services”前面的复选框依然是空白的,等于装了个寂寞。这个情况十有八九和Windows Update服务被禁用有关,因为IIS功能安装需要调用系统组件库和更新缓存。

处理办法:先把Windows Update服务设为“自动”并启动,然后重新执行一遍安装。如果仍然失败,用管理员PowerShell执行dism /online /cleanup-image /restorehealth,修复完成后重新勾选IIS。这里我想多说一句:网上很多“win11关闭自动更新”的教程会让你直接把Windows Update服务禁用,副作用就是这类系统功能安装会随机翻车。如果你实在不想自动更新,建议用组策略里的“配置自动更新”设为禁用,而不是把服务整个停掉,这样既不影响手动检查更新,也不会断掉组件安装的依赖。

5.3 访问localhost报各种错误码

我把实际工作中遇到最多的几个情况整理成了一张速查表,方便你快速定位:

现象可能原因处理办法
localhost打不开80端口被其他程序占用命令行执行netstat -ano | findstr :80找到PID,再结束对应进程
访问根路径报403.14网站根目录没有默认文档在IIS管理器里双击“默认文档”,添加index.html等
报500.19web.config配置错误或父路径未启用检查web.config内容,启用ASP父路径
报500.0应用程序池运行时错误或.NET组件缺失检查应用程序池状态,修复.NET运行时
本机访问正常,局域网访问不了防火墙拦住了HTTP在防火墙高级设置里放行“万维网服务(HTTP)”入站规则
访问 .asp 文件变成下载应用程序开发功能里没勾ASP回到“Windows功能”补勾ASP组件

还有一个被很多人忽略的点:如果你改过IIS里的站点配置,比如改了绑定端口、换了物理路径,有时候配置不会立刻生效。这时候在管理员命令行执行iisreset,让IIS整体回收一下,比在管理器里反复操作省心得多。我每次改完绑定或者证书,都习惯顺手跑一次iisreset,实测下来很多莫名奇妙的404、500都能被这一步解决。

最后再分享一个我自己的使用习惯。装IIS的时候,我宁可把暂时用不到的组件也一并勾上,也不愿意等要用的时候再回头开。因为功能装完后只是占用一点磁盘空间,并不影响系统性能,而反复开关Windows功能反而容易把系统组件搞乱。所以本地开发机我一般把“应用程序开发功能”整组勾满,日志和压缩也全开,目录浏览暂时开着,调试完再关。这套组合拳用下来,我还没遇到过一次需要重装IIS才能解决的问题。希望这份步骤能帮你把IIS顺利跑起来。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询