IIS 8.0 Express 自述文件

作者:Robert McMurray

概述

Internet Information Services (IIS) 8.0 Express 是一个免费且简单的独立版本的 IIS,已针对开发人员进行了优化。 借助 IIS 8.0 Express,可以轻松地使用最新版本的 IIS 以及 Visual Studio 和 WebMatrix 等开发工具开发和测试网站。 IIS 8.0 Express 包含 IIS 8 及更高版本的所有核心功能以及用于简化网站开发的其他功能,包括:

  • IIS 8.0 Express 不作为服务运行,也不需要管理员权限来执行大多数任务
  • IIS 8.0 Express 适用于 ASP.NET 和 PHP 应用程序
  • 多个 IIS 8.0 Express 用户可以在同一台计算机上独立工作

安装

可以使用以下 URL 通过 Microsoft 下载中心安装 IIS 8.0 Express:

  • IIS 8.0 Express

从 IIS 7.5 Express 升级

如果在安装 IIS 8.0 Express 时已安装 IIS 7.5 Express,安装程序会将 IIS 7.5 Express 安装替换为 IIS 8.0 Express。 不支持同时安装 IIS 7.5 Express 和 IIS 8.0 Express。

在 64 位系统上安装 IIS 8.0 Express 时,IIS 8.0 Express 的 32 位和 64 位版本将分别安装在 %ProgramFiles(x86)%\IIS Express%ProgramFiles%\IIS Express 文件夹中。

支持的平台和体系结构

以下操作系统上支持 IIS 8.0 Express:

  • 支持的本机平台

    • Windows 8 客户端 (Intel/AMD) 32 位/64 位
    • Windows Server 2012 (Intel/AMD) 64 位
  • 支持的下级平台

    • Windows 7(x86 和 x64)
    • Windows Server 2008 R2(x86 和 x64)
    • Windows Vista SP1 及更高版本(x86 和 x64)
    • Windows Server 2008(X86 和 X64)

以下操作系统上不支持 IIS 8.0 Express:

  • Windows Server 2003
  • Windows XP

对于这些不受支持的操作系统,可以继续使用 IIS 7.5 Express。

对 IIS 8.0 Express 的更改

新功能

IIS 8.0 Express 支持以下新功能:

  • X64 支持

    • IIS 8.0 Express 支持 32 位和 64 位体系结构。
  • 与 IIS 8.0 共有的功能

    • IIS 8.0 Express 与 IIS 的完整版本有许多相同的功能;例如,IIS 8.0 Express 使用许多与完整版 IIS 相同的二进制文件、配置文件和错误代码,因此在开发环境和生产环境之间迁移项目应该比以往更容易。
  • 更改用户主目录

    • IIS 8.0 Express 支持更改用户的主目录,该目录映射到配置中的 %IIS_USER_HOME% 变量。 默认情况下,此路径位于 %UserProfile%\Documents\IISExpress,但用户可以通过在 HKCU\Software\Microsoft\IISExpress 中设置 CustomUserHome 注册表属性来更改此路径,或者在启动 iisexpress.exe 时指定“/userhome”参数。
  • WebSocket 支持

    • IIS 8.0 Express 支持编写 WebSocket 应用程序。 有关详细信息,请参阅 WebSocket 协议规范或 Microsoft MSDN 网站上的 System.Net.WebSocket 命名空间主题。
  • AppCmd 支持编辑多个配置文件

    • AppCmd 实用工具现在支持“/AppHostConfig”参数,这样就可以使用 AppCmd 编辑多个 ApplicationHost.config 文件,而不仅仅是主配置文件。

    例如,以下命令将在自定义 ApplicationHost.config 文件中创建网站:

    appcmd.exe set config -section:system.applicationHost/sites /+"[name='www.fabrikam.com',id='2112']
    " /commit:apphost 
    /AppHostConfig:C:\Temp\IISExpress\config\ApplicationHost.config
    
    appcmd.exe set config -section:system.applicationHost/sites /+"[name='www.fabrikam.com',id='2112']
    .bindings.[protocol='http',bindingInformation=':8080:localhost']" /commit:apphost 
    /AppHostConfig:C:\Temp\IISExpress\config\ApplicationHost.config
    
    appcmd.exe set config -section:system.applicationHost/sites /+"[name='www.fabrikam.com',id='2112']
    .[path='/']" /commit:apphost 
    /AppHostConfig:C:\Temp\IISExpress\config\ApplicationHost.config
    
    appcmd.exe set config -section:system.applicationHost/sites /+"[name='www.fabrikam.com',id='2112']
    .[path='/'].[path='/',physicalPath='C:\Inetpub\www.fabrikam.com']" /commit:apphost 
    /AppHostConfig:C:\Temp\IISExpress\config\ApplicationHost.config
    

    使用上述命令添加网站后,可以使用以下命令启动它:
    iisexpress.exe /config:C:\Temp\IISExpress\config\ApplicationHost.config /site:www.fabrikam.com

已知问题和限制

在下级操作系统上不起作用的 Windows Server 2012 和 Windows 8 功能

有几个功能需要特定于 Windows Server 2012 和 Windows 8 客户端的体系结构,当你在较早版本操作系统上安装 IIS 8.0 Express 时,这两个系统在下级系统上无法工作:

  • 服务器名指示 (SNI)
  • 中央证书存储
  • WebSocket 功能

HTTP 子状态代码更改

IIS 8.0 Express 现在共享相同的 HTTP 状态和子状态代码集;进行此更改是为了使开发人员能够更轻松地使用 IIS 8.0 Express 或其 Web 服务器上的 IIS 完整版本来解决问题。 以下列表包含 IIS 7.5 Express 附带的已修改或弃用的 HTTP 子状态代码:

  • HTTP 404.20 - 这是未定义默认文档时返回的错误:

    • 如果未定义默认文档,IIS 8.0 Express 将返回 HTTP 403 禁止访问错误。
    • IIS 8.0 Express 返回 HTTP 404.20 错误,表示 URL 段过多
  • HTTP 404.21 - 未安装 PHP 时会返回此错误代码;此代码已从 IIS 8.0 Express 中删除。

  • HTTP 404.22 - 未安装 ASP.NET 时会返回此错误代码;此代码已从 IIS 8.0 Express 中删除。

  • HTTP 404.23 - 未安装 ASP.NET 网页时会返回此错误代码;此代码已从 IIS 8.0 Express 中删除。

在 Windows Server 2012 和 Windows 8 客户端上使用 .NET Framework 3.5 及更早版本和 IIS 8.0 Express Release Candidate 时出错

如果在 Windows Server 2012 和 Windows 8 客户端上使用 IIS 8.0 Express Release Candidate(如果使用 .NET Framework 3.5 和更低版本),则存在已知的应用程序兼容性问题。 IIS 8.0 Express 最终版本中已解决此问题,但解决方法是在运行 IIS 8.0 Express Release Candidate 的系统上安装 IIS 的标准版本。 (注意:IIS 无需运行;只需执行 IIS 基本安装即可解决兼容性问题。)

更多信息

可以使用以下链接了解有关 IIS 8.0 Express 和相关产品的详细信息:

  • IIS.net
  • Microsoft.com/web