发布日期:2025-11-01 05:26浏览次数:
今天捣鼓了一天iis这东西,真是一波三折。本来寻思着就开个服务嘛结果搞出这么多幺蛾子。
同事甩了个老项目过来,非得在本地跑一下看看。一看说明,好家伙,要挂到iis上。我心说这玩意儿不是windows自带的吗?打开不就完了?结果发现我这新电脑压根没装!
赶紧戳进“控制面板”,扒拉半天才找到“程序和功能”。点开“启动或关闭Windows功能”,在一堆功能方块里扒拉,想找iis那个勾选框。我的天,里面缩着好几个叫“Internet Information Services”的,一层套一层,点开下拉三角,还有一堆二级选项,看得我眼都花了。
实在懒得研究哪个有用哪个没用,我寻思大不了全选了!电脑吭哧吭哧开始安装,我心想这下稳了。
兴冲冲打开“管理工具”里的“Internet Information Services (IIS)管理器”。左边树形目录唰地展开,点开服务器名,下面有“应用程序池”和“站点”。我琢磨着,站点里应该就能看到默认网站了?点开“站点”一看——空的!啥玩意没有?说好的默认网站?
心里有点慌:难道刚才勾少了?
又折腾回“启动或关闭Windows功能”那儿,挨个点开仔细瞅,在“万维网服务”->“常见HTTP功能”底下,还真发现了俩没勾的:“默认文档”和“目录浏览”。赶紧都勾上!想着这俩名字挺重要,万一就因为它俩?点确定,又是一轮安装。
再次打开IIS管理器。站点列表还是空空如也!我这火气“噌”就上来了。
干脆自己手动建个站点试试呗。右键点“站点”,选“添加网站”。
完事儿点确定。回到IIS管理器一看,“站点”下面就挂了个“TestSite”出来,状态显示“正在运行”。我兴奋地搓手手打开浏览器,地址栏输入 localhost:8080,回车——无法显示此页!??我@#¥%!
先检查路径,文件夹没毛病。又怀疑是不是端口被占了?管理员身份打开cmd,黑框框敲命令看端口占用:netstat -ano findstr :8080。啥都没有?没占用呀!重启了下IIS服务(点右边操作栏里的“重新启动”),再刷新浏览器,还是不行!
灵光一闪:难道是防火墙? 冲进防火墙设置,找到“允许应用通过防火墙”,在里面翻腾老半天。发现和iis相关的几个条目(好像是什么HTTP Server之类的),挨个把公用网络的勾打上。允许之后,再刷新浏览器……居然还是“无法显示此页”!心态崩了呀!
瞎搜的时候突然看到有人提了一句“应用程序池的.NET版本”。我立刻点到IIS管理器左边树的“应用程序池”,列表里果然躺着我的“TestSite”对应的池(默认名字叫什么“TestSite” AppPool之类的)。双击点开属性,看到“.NET CLR版本”那个下拉框。
我那个破项目是.NET Framework 4.6 写的。我一看池子属性,默认是“无托管代码”?还是“4.0”?赶紧把它改成“v4.0”(或者更精确的.NET版本,反正得对上项目要求的最高版本)。改完保存。
还不放心,又把池子状态搞成“已停止”再点“启动”。
抱着死马当活马医的心态,顺手清理了下浏览器缓存(主要心里憋火想点几下)。重新打开浏览器,输入localhost:8080——诶项目首页那大红大绿的界面刷出来了!当时真是想砸桌子,折腾半天就这?
瘫在椅子上
这iis,看着好像就是点点按钮的事,一上手全tm是细节,不亲自被它坑一次,还真记不住这些玩意儿!