发布日期:2025-11-01 03:59浏览次数:
今早想倒腾个本地环境测试点东西,打开Windows10的控制面板,直奔“程序和功能”。瞅见左边那个“启用或关闭Windows功能”,手快点了进去——以为跟以前装系统组件差不多嘛
嚯,一堆功能列表,翻半天才在最下面找着“Internet Information Services”。没想太多,啪嗒先把主选项勾上,接着像超市采购一样把下属的功能目录树展开。
第一个坑这就踩上了:当时急着用WebSocket,瞄到“应用程序开发功能”底下有个“WebSocket协议”,咔咔打钩。旁边的.NET Extensibility、*这些看名字估计是配套的?管他,通通勾选,猛点“确定”。
系统慢悠悠装完,美滋滋打开IIS管理器,准备创建新站点。结果新建界面死活刷不出来应用池!弹了个红色警告框写着什么“处理程序‘svc-something’错误”,代码0x80070005——活像服务器板着脸跟我说“拒签”。
血压瞬间拉满:折腾两小时饿得前胸贴后背,冲了碗泡面冷静下。灵光一现去翻“启用功能”那页面,发现有个小箭头图标被我无视了!展开“应用程序开发功能”时漏了最上面那个“应用程序初始化”!抱着死马当活马医的心态勾上它重装...
结果IIS管理器突然复活了!那个该死的错误提示人间蒸发。
测试网站扔进站点文件夹蹦出HTTP 500错误。查日志发现是.NET版本冲突——我装的依赖库要4.0,服务器默认给2.0。
右键点开站点“管理”里的“高级设置”,找到“应用程序池”那一栏。点进去看到下拉框写着“.NET CLR版本”,手贱选了v4.0,自信满满刷新页面。
很直接变成白屏! IIS日志跳出一串权限不足警告。这时候才想起来查应用池的身份设置——果然,“应用程序池标识”还傻乎乎用着默认的ApplicationPoolIdentity。
绕回应用池设置界面:
页面刷出来那瞬间感动得快哭出来——测试页面终于显示“Hello World”了!
血泪IIS安装时别图省事!展开功能树像排查地雷似的细看:
至于改版本?换完.NET别忘同步调应用池身份,不然权限就像被锁在门外急得跳脚!
现在服务器跑得跟兔子似的。回想今天摔的这些跟头,真想说:微软你把设置藏得比老太太的存折还深!