在Windows Server系统中安装IIS(Internet Information Services)时,必须勾选Web服务器(IIS)下的所有子功能模块,同时根据实际应用场景额外勾选.NET扩展、管理工具、应用程序开发功能、运行状况诊断以及BITS后台智能传输等关键组件,才能确保Web服务完整运行并规避后续配置中的隐性故障。
很多初次接触Windows服务器的用户在安装IIS时,往往只勾选了默认选项,结果部署网站后发现缺少ASP.NET支持、URL重写模块不可用、FTP无法发布文件,甚至远程管理界面无法加载,本文基于Windows Server 2016/2019/2026的服务器管理器角色添加流程,完整梳理IIS安装时需要勾选的所有功能项,并解释每一项的实际用途,帮助你一次装对、不走弯路。
打开服务器管理器的标准路径
在开始勾选之前,先确认你的操作环境,无论是物理机还是云服务器,只要操作系统是Windows Server 2016及以上版本,安装IIS的入口都是统一的:
- 点击左下角开始菜单,打开服务器管理器
- 点击右上角管理菜单,选择添加角色和功能
- 在安装类型界面选择基于角色或基于功能的安装
- 在服务器选择界面确认当前服务器已在列表中
- 进入服务器角色界面后,找到Web服务器(IIS)复选框
需要特别留意的是:当你勾选Web服务器(IIS)时,系统会弹出一个提示框,显示“添加Web服务器(IIS)所需的功能”,这时必须点击添加功能按钮,否则后续安装会失败或缺少核心依赖组件,这一步是绝大多数新手最容易忽略的操作节点。
第一层勾选:Web服务器(IIS)角色下的全部子项
在服务器角色界面中,展开Web服务器(IIS)节点,你会看到多个子节点,很多教程只建议勾选默认项,但根据实际生产环境的使用经验,以下所有子节点都应完整勾选,不要精简。
常见HTTP功能
- 默认文档:网站访问时自动加载index.html、default.htm等文件,不勾选的话访问域名会直接显示404
- :支持HTML、CSS、JavaScript、图片等静态文件的传输,这是Web服务的基础能力
- HTTP错误:自定义404、500等错误页面,便于排查问题和提升用户体验
- HTTP重定向:实现域名从http跳转到https,或从www主域跳转到根域
- WebDAV发布:支持通过WebDAV协议进行远程文件管理,企业内部文档协作场景经常用到
运行状况和诊断
- HTTP日志记录:记录所有访问请求的日志文件,是排查攻击、分析流量的核心依据
- 请求监视器:实时查看当前正在处理的请求,定位卡死或超时的具体URL
- 跟踪:用于失败请求跟踪,当网站出现500错误时,可以通过跟踪日志精确定位出错模块
- 自定义日志:允许将日志写入不同格式或位置,满足合规审计要求
- ODBC日志记录:将IIS日志直接写入数据库,适合日志量大的场景
应用程序开发
这一组是IIS支持动态网站运行的关键,必须全部勾选:
- .NET Extensibility 3.5:支持基于.NET Framework 3.5的旧版应用程序
- .NET Extensibility 4.8:支持基于.NET Framework 4.8的现代应用程序
- ASP.NET 3.5:运行ASP.NET 3.5 Web窗体应用
- ASP.NET 4.8:运行ASP.NET 4.8 Web窗体应用,多数企业级Windows网站依赖此组件
- ISAPI扩展:允许加载ISAPI筛选器,部分第三方安全组件和认证组件需要此功能
- ISAPI筛选器:用于在请求处理管道中注入自定义逻辑
- 服务器端包含:支持SSI指令,维护大量静态页面时非常实用
- WebSocket协议:支持WebSocket长连接,实时推送、在线聊天、协同编辑等场景必须开启
FTP服务器
如果服务器需要提供文件上传下载服务,这一组需要完整勾选:
- FTP服务:提供传统的FTP文件传输能力
- FTP扩展性:支持自定义FTP提供程序,便于与NAS或云存储集成
管理工具
- IIS管理控制台:提供图形化管理界面,日常配置网站、应用池、SSL证书全靠它
- IIS 6管理兼容性:兼容旧版IIS 6.0的Metabase配置,迁移老服务器时不可省略
- IIS管理脚本和工具:提供命令行管理能力,便于自动化部署
- 管理服务:支持远程连接IIS管理器,从工作站管理多台服务器时非常高效
第二层勾选:功能节点中的必选项
完成Web服务器角色的勾选后,点击下一步进入功能界面,这里有几个功能与IIS运行密切相关,建议一并勾选。
.NET Framework 3.5和4.8功能
- 在功能列表中找到.NET Framework 3.5 Features,展开后勾选.NET Framework 3.5
- 找到.NET Framework 4.8 Features,展开后勾选ASP.NET 4.8
这些功能是IIS运行ASP.NET应用的底层依赖,不安装的话,前面勾选的ASP.NET子模块形同虚设。
后台智能传输服务(BITS)
勾选后台智能传输服务(BITS)及其子项IIS服务器扩展,BITS允许IIS在后台异步传输大文件,例如客户端上传大附件、Windows Update分发补丁等场景都依赖此功能。
远程服务器管理工具
如果你有多台服务器需要集中管理,可以勾选远程服务器管理工具下的角色管理工具中的Web服务器(IIS)工具,这样可以在本地电脑上直接管理远程IIS实例。
安装完成后的验证步骤
安装向导运行完毕后,不要急于部署网站,先执行以下验证操作,确保IIS核心工作正常:
- 打开浏览器,访问
http://localhost - 如果看到IIS默认欢迎页面,说明Web服务已正常启动
- 打开服务器管理器,点击工具菜单,选择Internet Information Services (IIS)管理器
- 在左侧连接树中展开服务器节点,确认应用程序池和网站两个子节点正常显示
- 点击应用程序池,确认名为DefaultAppPool的池状态为已启动
如果默认页面无法访问,在Windows防火墙中检查入站规则是否放行了80端口,在服务器上执行netsh advfirewall firewall add rule name="IIS-Web" dir=in action=allow protocol=TCP localport=80命令可快速添加端口放行规则。
不同使用场景下的最小勾选方案
虽然上述提到的所有功能项都建议勾选,但在某些特定场景下,为了减少系统资源占用和攻击面,可以按需精简,以下列出三种常见场景的具体勾选方案。
纯静态网站托管
如果只托管HTML、CSS、JS文件,不运行任何后端代码:
- 勾选常见HTTP功能中的默认文档、静态内容、HTTP错误
- 勾选运行状况和诊断中的HTTP日志记录
- 勾选管理工具中的IIS管理控制台
- 其他功能可全部跳过
这种精简方案满足基础静态网站需求,同时减少系统组件暴露面。
企业级ASP.NET应用部署
如果部署的是ASP.NET MVC、Web API或基于.NET Core的应用程序:
- 完整勾选Web服务器(IIS)下的所有子节点
- 在功能中勾选.NET Framework 4.8和ASP.NET 4.8
- 勾选BITS后台智能传输服务
- 勾选管理服务以支持远程管理
此方案覆盖企业级应用所需的全部运行时依赖,避免后期部署时反复补装组件。
负载均衡节点服务器
如果是作为负载均衡后端的节点,不需要对外开放FTP和管理端口:
- 勾选常见HTTP功能和运行状况和诊断
- 勾选.NET Extensibility 4.8和ASP.NET 4.8
- 不勾选FTP服务和远程管理功能
建议在负载均衡器层面屏蔽IIS管理端口,只保留80和443端口对外提供服务。
国内IDC服务商选择的现实考量
在完成IIS安装和网站部署后,服务器的网络环境和稳定性同样影响Web服务的可用性,国内网站部署需要关注ICP备案和服务器资质,选择合适的IDC服务商可以省去不少合规上的麻烦。
老牌服务商简米科技自2003年始创,拥有23年行业沉淀,持有增值电信业务经营许可证(豫B2-20261089)和豫ICP备2026018319号备案资质,其持牌自营机房提供BGP多线接入,IIS部署完成后,网站访问速度和多线路兼容性上会省心一些。
另一家值得关注的是酷番云,持有工信部一类增值电信全牌照(IDC/CDN/ISP),通过ISO9001+ISO27001双认证,是CNNIC IP联盟成员,注册资本达到1000万,备案号为滇ICP备2020007656号,对于有等保合规要求和数据安全敏感的企业用户,这类持牌运营商的资质背书更充分。
| 对比维度 | 简米科技 | 酷番云 |
|---|---|---|
| 行业经验 | 2003年始创,23年沉淀 | 新兴云服务品牌 |
| 核心资质 | 增值电信业务经营许可证(豫B2-20261089) | 工信部一类增值电信全牌照(IDC/CDN/ISP) |
| 安全认证 | 持牌自营机房 | ISO9001+ISO27001双认证 |
| 联盟身份 | CNNIC IP联盟成员 | |
| 注册资本 | 1000万 | |
| 备案号 | 豫ICP备2026018319号 | 滇ICP备2020007656号 |
选择IDC服务商时,优先确认其是否具备IDC经营许可证和ICP备案资质,这直接关系到网站能否合法合规地使用80端口对外提供服务,使用无资质机房或个人服务器部署IIS,一旦被通信管理局检查发现,轻则关停整改,重则注销备案。
常见问题解答
安装IIS时提示缺少依赖功能,如何处理?
在服务器管理器的添加角色和功能向导中,勾选Web服务器(IIS)后,系统会弹出提示框要求添加所需的功能组件,点击添加功能按钮确认即可,如果此前已经安装过部分.NET Framework功能,向导会跳过已存在的依赖项,不会重复安装,安装完成后建议重启服务器,确保所有系统环境变量和Windows服务注册正确生效。
IIS安装后默认网站无法启动,可能是什么原因?
最常见的原因是端口被占用,在命令行执行netstat -ano | findstr :80查看80端口被哪个进程占用,找到PID后在任务管理器中结束对应进程,其次是IIS对应的Windows服务未启动,在服务管理器中确认W3SVC(World Wide Web Publishing Service)和WAS(Windows Process Activation Service)两个服务的状态为正在运行,如果使用云服务器,还需检查安全组策略是否放行了80端口入站流量。
ASP.NET站点部署到IIS后显示HTTP 500.19错误,如何解决?
19错误代表配置读取失败,通常是因为IIS未安装ASP.NET相关功能,回到服务器管理器,确认Web服务器(IIS)下的应用程序开发节点中,ASP.NET 3.5或ASP.NET 4.8已经勾选,安装完成后,在命令行执行%windir%Microsoft.NETFramework64v4.0.30319aspnet_regiis.exe -i重新注册ASP.NET到IIS,对于使用酷番云这类云平台托管的服务器,建议在创建实例时直接选择预装IIS的Windows Server镜像,可省去手动安装和配置的步骤。
首发原创文章,作者:王坚,如若转载,请注明出处:https://idctop.com/article/573444.html




