win10安装iis常见错误修复(一键搞定难题)
发布日期:2025-11-01 08:47浏览次数:
今天鼓捣Win10装IIS的时候,被几个破错误整得差点砸键盘。本来寻思着不就是勾个选项的事儿嘛结果噼里啪弹出一堆妖魔鬼怪。别急,我把踩的坑和填坑的法子都记下来了,照着整准能成。
第一步就卡壳:安装报“找不到文件”
兴冲冲跑去控制面板,戳开“启用或关闭Windows功能”,把“Internet Information Services”前头那个小框框给勾上。刚点完确定,屏幕“唰”就跳脸一个红叉叉,说什么“无法完成更改”,具体是“Windows 无法安装所需的文件,文件可能已损坏或丢失”。我特么刚装好的系统!
- 赶紧查微软官方文档,发现可能是系统更新缓存抽风了。
- 按住键盘上的 Win键不撒手,再按 R,蹦出来运行框,直接敲进去cmd,然后同时按着 Ctrl+Shift+Enter,用管理员身份打开黑乎乎的窗口。
- 照着敲:DISM /Online /Cleanup-Image /RestoreHealth,回车。这傻大黑粗的命令行就开始吭哧吭哧扫描修复,进度条慢得让人想挠墙。
- 折腾完再敲:sfc /scannow,又来一遍系统扫描。完事儿重启电脑,回去再勾选 IIS,进度条居然顺顺当当跑完了!这破缓存真是欠收拾。
第二个幺蛾子:管理工具打不开网站
装完IIS美滋滋打开 IIS 管理器,想看看默认网站。双击“默认网站”,结果浏览器里冒出来个500.19 Internal Server Error,还说啥“无法读取配置文件,访问被拒绝”。我寻思我也没干啥伤天害理的事?
- 顺着错误提示里的路径,摸到了默认网站配置文件的位置,在 C:盘里一个不起眼的角落。
- 对着这个配置文件点右键,选“属性”,再戳到“安全”那标签页。
- 看见“组或用户名”里有个“Authenticated Users”?点下面的“编辑”。
- 选中它,在下面的权限框里,把“读取和执行”、“读取”这两个小勾勾狠狠打上!点应用再确定。
- 这时候必须得重启一下 IIS,不然不认账。还是回到命令行(管理员身份),狠狠敲:iisreset /restart,回车。
- 刷新浏览器,呵,那个经典的 IIS 欢迎页面“哐当”一下弹出来了!这小权限卡的,真够刁钻。
第三个坑:.NET出尔反尔
搞定基础网站后,想整个 .NET 的应用跑跑看。在 IIS 管理器里,对着服务器名字点开树形目录,找到“模块”双击。结果列表里死活找不到 AspNetCoreModule!明明之前为了装.NET Core装了好多东西。
- 又冲回“启用或关闭 Windows 功能”,把之前勾上的 IIS 和 .NET 环境相关的勾都咔咔全取消掉(特别是那些带.NET名字的)。
- 重启电脑(是的,又得重启,微软就喜欢这个)。
- 重启完,再次回到“启用或关闭 Windows 功能”,这回必须先把所有跟 .NET 有关的勾勾选上(比如 .NET Framework 4.x, .NET Core 之类),再去勾选 IIS 整个组(包括下属那些CGI、应用开发功能啥的)。顺序错了它就要作妖!
- 全都选好确定,让它安装完。再去 IIS 管理器看“模块”,AspNetCoreModule这下老老实实躺在里面了。
一点邪门事:端口被占了
想给新网站换个靓号端口,结果启动时报错 “地址已被使用”。八成是哪个不长眼的程序霸占了。
- 开管理员命令行,输:netstat -ano findstr :80(假设80被占了,把80换成你想要的端口号)。
- 命令行会把占用这个端口的“土匪”揪出来,重点是那串数字(PID)。
- 开任务管理器(Ctrl+Shift+Esc),找到“详细信息”标签页,按PID排个序。
- 找到对应PID的那行,右键选“结束任务”,眼都不带眨的!
- 再回去IIS启动网站,这下端口妥妥的归你用了。
终极偷懒神器:直接上批处理!
每次重装系统都要挨个步骤搞一遍,人都麻了。一咬牙,我把上面那些命令和步骤攒攒,弄了个一键修复的批处理脚本。内容大概长这样:
@echo off
echo 正在检查系统映像...
DISM /Online /Cleanup-Image /RestoreHealth
echo 正在扫描系统文件完整性...
sfc /scannow
echo 正在设置IIS配置文件权限...
icacls "%windir%\System32\inetsrv\config\*" /grant "Authenticated Users":RX
echo 准备重置IIS...
iisreset /restart
echo 操作完成!建议手动检查.NET功能安装顺序!
pause
把这个内容塞进一个新建的文本文件,后缀名改成.bat(比如叫 fix_*)。右键点它,选择“以管理员身份运行”,就可以去泡杯茶歇歇,看它自个儿跑完那些闹心事了。那个.NET的顺序问题,批处理搞不定,得自己按顺序手动勾选一下功能。
这一套组合拳打下来,从文件丢失到权限被拒再到模块缺失和端口打架,这些最常见的拦路虎基本都能收拾服帖了。弄明白了套路,也没那么邪乎!