Windows 7内置的IIS 7.5在默认安装状态下并没有启用,需要到控制面板中手动添加功能。与第三方集成环境不同,IIS直接由系统服务承载,配置完成后可以通过127.0.0.1或局域网IP访问站点。整个过程分为组件安装、站点创建、权限调整和动态脚本支持四个阶段。实际操作前建议先确认系统版本,因为家庭普通版和家庭高级版缺少完整的IIS管理功能,专业版、旗舰版和企业版才能顺利启用全部模块。

一、从Windows功能中启用IIS
打开控制面板,将查看方式切换为类别,进入“程序”,点击“打开或关闭Windows功能”。如果是经典图标视图,直接找到“程序和功能”,左侧栏同样有“打开或关闭Windows功能”入口。在弹出的Windows功能窗口中,找到“Internet信息服务”节点,展开后会看到Web管理工具和万维网服务两个主要分类。
勾选“Internet信息服务”时,系统默认只勾选一部分基础模块。为了后续能够运行ASP.NET和配置管理站点,建议手动展开“万维网服务”下的“应用程序开发功能”,勾选ASP.NET、.NET扩展性、ISAPI扩展和ISAPI筛选器;如果网站需要支持经典ASP,还需要勾选ASP。Web管理工具中确保“IIS管理控制台”处于选中状态,否则安装完成后无法在管理工具里找到IIS管理器。
勾选完成后点击确定,系统会开始复制文件并启用相关服务,中途可能需要重新启动。重启后进入“控制面板\管理工具”,双击“Internet信息服务(IIS)管理器”即可打开管理界面。如果管理工具里没有该图标,说明IIS管理控制台没有勾选,需要重新回到Windows功能里补装。
二、创建并绑定第一个站点
IIS安装后默认会创建一个名为Default Web Site的站点,物理路径指向C:\inetpub\wwwroot。可以直接把网页文件放到这个目录,然后通过http://127.0.0.1/访问。但为了不与默认站点混淆,更推荐单独创建站点。右键点击左侧树中的“网站”,选择“添加网站”,输入站点名称、物理路径和绑定信息。
物理路径可以自行指定,比如C:\inetpub\wwwroot\demo。绑定类型保持http,IP地址默认“全部未分配”,端口默认80。如果80端口已经被其他程序占用,可以改用8080、8088等端口。主机名用于同一IP绑定多个域名,本地练习时可以留空。需要注意的是,如果端口不是80,访问地址必须带上端口号,例如http://127.0.0.1:8080/。
站点创建完成后,IIS会为它生成一个应用程序池,默认名称与站点名称一致。应用程序池隔离了不同站点的进程,一个站点崩溃不会影响其他站点。初学者可以先使用默认的.NET CLR版本设置,后续再根据实际脚本类型调整。站点目录的权限也要与应用程序池身份匹配,这一点在下一节展开。
三、处理权限与默认文档
创建站点后访问时遇到401未授权错误,多半是应用程序池身份对站点目录没有读取权限。IIS 7.5的默认应用程序池标识为ApplicationPoolIdentity,这是一个虚拟账户,不在普通用户列表中显示。给目录授权时,在文件夹属性的“安全”选项卡中添加IIS AppPool\站点应用程序池名称即可。例如应用程序池叫demo,就添加IIS AppPool\demo,并赋予读取和执行权限。
默认文档决定访问目录时IIS首先查找哪个文件。IIS默认包含Default.htm、Default.asp、index.htm、index.html等,但不包含index.aspx或default.aspx。如果站点使用了ASP.NET页面,需要手动添加。在IIS管理器中选中站点,双击“默认文档”,点击右侧“添加”,输入index.aspx并上移到顶部。也可以在web.config中通过defaultDocument节点一次性配置,这样迁移时更省事。
下面是一段web.config默认文档配置示例:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.webServer>
<defaultDocument enabled="true">
<files>
<clear />
<add value="index.aspx" />
<add value="Default.htm" />
</files>
</defaultDocument>
</system.webServer>
</configuration>
权限配置时还要注意目录的物理路径继承关系。如果站点放在C:\inetpub\wwwroot下,通常会继承IIS默认站点的权限;如果放在其他盘符,比如D:\wwwroot\demo,需要确认Users组或IIS AppPool身份具有相应权限。NTFS权限和IIS功能授权是两个层次,很多访问失败都发生在NTFS层,而不是IIS配置错误。
四、验证ASP.NET动态脚本环境
纯静态HTML放在站点目录后就能直接访问,但验证ASP.NET环境需要额外步骤。先确认.NET Framework版本与应用程序池的.NET CLR版本一致。IIS 7.5默认安装时可能只注册了.NET 4.0,旧版ASP.NET需要手动注册。以.NET 4.0为例,在命令提示符中执行C:\Windows\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe -i可以完成注册。执行前需要以管理员身份运行命令提示符。
注册完成后,IIS管理器的应用程序池设置中会出现.NET CLR版本选项。选中站点对应的应用程序池,点击“基本设置”,将.NET CLR版本改为v4.0,然后重启应用程序池。接着在站点目录放置一个web.config文件,内容至少包含system.webServer节点,并新建一个简单的index.aspx测试页。测试页可以用Response.Write输出当前时间,也可以直接读取服务器变量。
如果浏览器访问index.aspx时直接显示源代码或提示下载,说明ASP.NET没有接管请求,需要检查应用程序池的托管管道模式,并确认“ISAPI和CGI限制”中允许了对应版本的.NET。如果出现500.19错误,通常是web.config格式错误或缺少模块,查看详细错误信息可以定位到具体配置节点。
五、学习方法与高效练习路径
学习IIS配置不必从背诵每个按钮开始,更有效的方法是用一个小型站点反复走通部署流程。第一轮练习可以只发布静态页面,重点理解IP绑定、端口、主机头和物理路径之间的关系。第二轮加入默认文档、目录浏览和错误页设置,观察不同配置下IIS的响应变化。第三轮再引入ASP.NET页面,处理应用池版本切换、web.config读取和权限故障。
高效练习需要配合命令行工具。IIS自带的appcmd命令可以完成大多数管理操作,例如列出站点、停止站点、新建应用程序池等。学会使用appcmd后,配置步骤可以脚本化,便于重复实验和批量部署。每次调整配置前,建议备份C:\Windows\System32\inetsrv\config\applicationHost.config,该文件保存了IIS的全局配置,误改后可以通过还原快速恢复。
下面两条命令用于查看站点列表和停止默认站点:
C:\Windows\System32\inetsrv\appcmd.exe list site C:\Windows\System32\inetsrv\appcmd.exe stop site "Default Web Site" C:\Windows\System32\inetsrv\appcmd.exe start site "Default Web Site"
练习时注意积累错误代码的含义。403、404、500、503分别对应权限、路径、服务器内部错误和服务不可用。把错误代码和刚才的操作步骤联系起来,比单纯记住解决方案更有价值。最终目标不是会点几个菜单,而是能够根据现象反推出IIS的请求处理流程:请求进入HTTP.sys,经过应用程序池,再交给具体的工作进程和模块处理。理解这条链路后,排查问题会高效很多。