在 IIS 上生成静态网站

由基思·纽曼和 罗伯特·麦克默里 本文档指导你完成安装 IIS Web 服务器并将其配置为提供静态内容的过程。 静态内容是一个网页(HTML),它与...

由基思·纽曼和 罗伯特·麦克默里

本文档指导你完成安装 IIS Web 服务器并将其配置为提供静态内容的过程。 静态内容是一个网页(HTML),它与存储的内容完全一样传送给用户。 相比之下,动态内容由 Web 应用程序生成,例如 ASP.NET、经典 ASP 或 PHP 应用程序。 静态内容显示所有用户的相同信息;动态内容可以显示特定于用户的信息,例如用户名。

静态内容 Web 服务器是支持 HTML 网站的 IIS 最基本的配置。 可以使用静态内容 Web 服务器来托管内部或外部(公共)网站。 安装 IIS 8 时,默认安装提供支持静态内容 Web 服务器所需的所有 IIS 模块。 默认安装包括提供静态 HTML 文件、文档和图像的功能。 IIS 8 支持静态内容服务器的默认文档、目录浏览、日志记录和匿名身份验证。

先决条件

若要充分利用本教程,必须有权访问运行以下操作系统之一的计算机:

Windows Server® 2012

Windows® 8

步骤 1:安装 IIS Web 服务器

可以使用 Windows 用户界面(UI)或命令行执行此过程。

使用 UI 在 Windows Server 2012 上安装 IIS

在 “开始 ”页上,单击 “服务器管理器 ”磁贴,然后单击“ 确定”。

在 “服务器管理器”中,选择 “仪表板”,然后单击“ 添加角色和功能”。

在 “添加角色和功能向导”的“ 开始之前 ”页上,单击“ 下一步”。

在“选择安装类型”页上,选择“基于角色”或“基于功能的安装”,然后单击“下一步”

在“ 选择目标服务器 ”页上, 从服务器池中选择服务器,选择计算机的名称,然后单击“ 下一步”。

在 “选择服务器角色 ”页上,选择 “Web 服务器”(IIS),然后单击“ 下一步”。

在 “选择功能 ”页上,注意预先选择的功能,然后单击“ 下一步”。

在 “Web 服务器角色”(IIS) 页上,单击“ 下一步”。

在 “选择角色服务 ”页上,记下预选的角色服务,然后单击“ 下一步”。

注释

为静态内容 Web 服务器安装 IIS 8 默认角色服务。

在 “确认安装选择 ”页上,确认所选内容,然后单击“ 安装”。

在 “安装进度 ”页上,确认安装 Web 服务器(IIS)角色和所需角色服务是否已成功完成,然后单击“ 关闭”。

若要验证 IIS 是否已成功安装,请在 Web 浏览器中输入以下内容:

http://localhost

你会看到默认的 IIS 欢迎页。

使用 UI 在 Windows 8 上安装 IIS

在 “开始 ”页上,键入 “控制面板”,然后单击搜索结果中的 “控制面板” 图标。

在 控制面板中,单击“ 程序”,然后单击“ 打开或关闭 Windows 功能”。

在 “Windows 功能 ”对话框中,单击“ Internet 信息服务”,然后单击“ 确定”。

此操作安装 IIS 8 默认功能。 仅安装静态内容 Web 服务器的默认功能。

若要验证 IIS 是否已成功安装,请在 Web 浏览器中输入以下内容:

http://localhost

你会看到默认的 IIS 欢迎页。

使用命令行安装 IIS

在提升的命令提示符处或脚本中输入以下命令:

Start /w pkgmgr /iu:IIS-WebServerRole;IIS-WebServer;IIS-CommonHttpFeatures;IIS-StaticContent;IIS-DefaultDocument;IIS-DirectoryBrowsing;IIS-HttpErrors;IIS-HealthAndDiagnostics;IIS-HttpLogging;IIS-LoggingLibraries;IIS-RequestMonitor;IIS-Security;IIS-RequestFiltering;IIS-HttpCompressionStatic;IIS-WebServerManagementTools;IIS-ManagementConsole;WAS-WindowsActivationService;WAS-ProcessModel;WAS-NetFxEnvironment;WAS-ConfigurationAPI

步骤 2:添加网站

此步骤介绍如何使用 IIS 管理器 UI 或命令行窗口中运行 Appcmd.exe 命令将网站添加到 IIS。

使用 UI 添加网站

打开 IIS 管理器。

对于 Windows Server 2012,在 “开始 ”页上,单击 “服务器管理器 ”磁贴,然后单击“ 确定”。 在 服务器管理器中,单击 “工具” 菜单,然后单击“ Internet Information Services”(IIS)管理器。

对于 Windows 8,在 “开始 ”页上键入 “控制面板”,然后单击搜索结果中的 “控制面板” 图标。 在 “控制面板 ”屏幕上,单击“ 系统和安全”,单击 “管理工具”, 然后单击“Internet Information Services”(IIS)管理器。

在“ 连接 ”窗格中,右键单击树中的 “站点 ”节点,然后单击“ 添加网站”。

在“ 添加网站 ”对话框中,在 “网站名称 ”框中输入网站的友好名称。

如果要选择与 应用程序池 框中列出的应用程序池不同的应用程序池,请单击 “选择”。 在“ 选择应用程序池 ”对话框中,从应用程序池列表中选择一个 应用程序池 ,然后单击“ 确定”。

在 “物理路径 ”框中,输入网站文件夹的物理路径,或单击浏览按钮(...)以导航文件系统以查找文件夹。

如果上一步中输入的物理路径是远程共享,请单击“ 连接”以 指定有权访问该路径的凭据。 如果不使用特定凭据,请在“连接方式”对话框中选择“应用程序用户”(直通身份验证)选项。

从 “类型” 列表中选择网站的协议。

。 如果必须为网站指定静态 IP 地址(默认情况下,这设置为 “所有未分配”),请在 IP 地址框中输入 IP 地址 。

在 “端口 ”文本框中输入端口号。

(可选)在“ 主机标头 ”框中输入网站的主机标头名称。

如果不必对网站进行任何更改,并且希望网站立即可用,请 立即选中“开始网站 ”复选框。

单击 “确定” 。

使用命令行添加网站

在提升的命令提示符或脚本中使用以下语法:

appcmd add site /name:

字符串/id:uint/physicalPath:字符串/bindings:字符串

注释

若要使此语法正常工作,必须位于以下目录中,或者路径中包含该目录:%windir%\system32\inetsrv

name变量是名称,变量id是要分配给站点的正整数。 使用 appcmd 添加站点时,只需要变量 name 和 id。 但是,如果在未指定bindings 和 physicalPath 属性的值的情况下添加网站,则网站将无法启动。

physicalPath变量是文件系统中站点内容的绝对路径。

bindings变量包含用于访问站点的信息。 它必须采用格式 protocol/IP_Address:port:hostheader。 例如,对于网站,绑定 http/*:85: 将站点配置为侦听端口 85 上所有 IP 地址和域名(也称为主机标头或主机名)的 HTTP 请求。 另一方面,配置网站绑定 http/*:85:marketing.contoso.com ,以侦听端口 85 上的所有 IP 地址和域名 marketing.contoso.com 的 HTTP 请求。

若要添加 ID 为 2 且包含内容的c:\contoso 的网站,并在端口 85 上侦听所有 IP 地址的 HTTP 请求和 marketing.contoso.com 域名,请在命令提示符处输入以下内容:

appcmd add site /name:contoso /id:2 /physicalPath:c:\contoso /bindings:http/*:85:marketing.contoso.com

步骤 3:配置匿名身份验证

匿名身份验证可让用户访问网站的公共区域,而无需提示用户输入用户名或密码。 可以使用默认匿名用户帐户(IUSR)配置匿名身份验证,也可以为匿名用户设置本地用户帐户。

使用 UI 配置匿名身份验证

在 IIS 管理器 的功能视图中 ,双击“ 身份验证”。

在 “身份验证 ”页上,选择“ 匿名身份验证”。

在 “操作 ”窗格中,单击“ 编辑” 以设置匿名用户连接到站点的安全主体(用户凭据)。

在 “编辑匿名身份验证凭据 ”对话框中,选择以下选项之一:

如果要配置 IIS 用于访问站点或应用程序的特定用户帐户,请选择 “特定用户”。 然后单击“ 设置 ”以打开 “设置凭据 ”对话框,然后输入标识的用户名和密码。 然后点击OK。

如果希望 IIS 进程使用应用程序池的属性页上当前指定的帐户运行,请选择 “应用程序池标识”。 默认情况下,此标识是 IUSR 帐户。

重要

如果使用 IUSR 帐户,则向匿名用户授予与该帐户关联的所有内部网络访问权限。

单击“ 确定 ”关闭 “编辑匿名身份验证凭据 ”对话框。

使用命令行配置匿名身份验证

使用以下语法更改匿名访问的默认帐户:

appcmd set config /section:anonymousAuthentication /userName:

字符串/password:字符串

username变量是 IIS 用于匿名身份验证的帐户,变量password是默认在配置文件中加密的密码。 例如,若要使用名为 Moe 的帐户和 pssword1 的密码进行匿名访问,请在命令提示符处输入以下内容:

appcmd set config /section:anonymousAuthentication /userName:Moe /password:pssword1

步骤 4:配置默认文档

当向网站请求不包含文档名称时,IIS 将查找一个名称定义为默认文档的文件。 通常,默认文档名称 Default.htm。 可以按优先级顺序定义默认文档名称的列表。

使用 UI 配置默认文档

在 IIS 管理器 的功能视图中 ,双击 “默认文档”。

在 “操作 ”窗格中,单击“ 添加”。

在“ 名称 ”框中,输入要添加到默认文档列表的文件名,然后单击“ 确定”。 此文件名将添加到默认文档列表的顶部。

(可选)在列表中和“ 操作 ”窗格中选择默认文档,单击“ 上移 ”或“ 下移 ”以更改文件的优先级。

(可选)在列表中选择默认文档,然后在“ 操作 ”窗格中,单击“ 删除 ”以删除不想用作默认文档的任何文件名。

使用命令行配置默认文档

若要将文件名添加到默认文档列表,请使用以下语法:

appcmd set config /section:defaultDocument /+files.[value='

字符串']

变量 字符串 是要添加到列表中的文件名。 例如,若要将名为 home.html 的文件添加到默认文档列表中,请在命令提示符处输入以下内容:

appcmd set config /section:defaultDocument /+files.[value='home.html']

若要从默认文档列表中删除名为 home.html 的文件,请在命令提示符处输入以下内容,然后按 Enter:

appcmd set config /section:defaultDocument /-files.[value='home.html']

步骤 5:配置静态内容压缩

可以选择将 Web 服务器配置为压缩静态内容,以更高效地使用带宽并提高网站的性能。

使用 UI 配置静态内容压缩

在 IIS 管理器 的功能视图中 ,双击“ 压缩”。

选择“ 启用静态内容压缩 ”以配置 IIS 以压缩静态内容。

在 “静态压缩 ”框中,配置以下设置:

(可选) 选择“仅压缩大于(以字节为单位)的文件” ,并输入希望 IIS 压缩的最小文件大小。 默认大小为 256 字节。

在 “缓存目录 ”文本框中,输入本地目录的路径,或单击“浏览”按钮(...)找到目录。 压缩静态文件后,该静态文件将缓存在此临时目录中,直到它过期或内容更改为止。 临时目录必须位于 NTFS 格式分区的本地驱动器上。 无法压缩目录,不应共享。

(可选)选择 “每个应用程序池磁盘空间限制”(以 MB 为单位), 并输入每个应用程序池的最大空间量(以兆字节为单位),以便 IIS 在压缩静态内容时使用。 例如,如果服务器上有 20 个应用程序池,并且 磁盘空间限制 设置为 100,则最大磁盘空间将为 2GB。 如果单击“ 按应用程序池磁盘空间限制(以 MB 为单位) ”选项并在其下的文本框中输入数字,IIS 会在达到设置限制时根据最近使用的规则自动清理临时目录。 每个应用程序池的默认值为 100 MB。

在“操作”窗格中单击“应用”。

使用命令行配置静态内容压缩

若要启用静态内容的 HTTP 压缩,请在命令提示符处输入以下命令,然后按 Enter:

appcmd set config /section:urlCompression /doStaticCompression:True

若要配置静态内容压缩设置,请使用以下语法:

appcmd set config /section:urlCompression /minFileSizeforComp:

Int/directory:字符串/maxDiskSpace:Int

该变量 minFileSizeforComp 设置文件必须包含的最小字节数,以便进行压缩。 默认值为 256。 该变量 directory 指定临时存储和缓存静态文件的压缩版本的目录。 默认值为以下文件夹:

%SystemDrive%\inetpub\temp\IIS Temporary Compressed Files

该变量 maxDiskSpace 设置每个应用程序池的最大空间量(以兆字节为单位),这是 IIS 压缩静态内容时要使用的。 每个应用程序池的默认值为 100 MB。

后续步骤

彻底测试网站,确保网站按预期运行。 然后考虑配置以下功能:

为了帮助你排查或优化 Web 服务器的性能,请设置 IIS 日志记录。 有关说明,请参阅“ 在 IIS 中配置日志记录”。

若要提高 Web 服务器的安全性,请配置请求筛选。 有关说明,请参阅在 IIS 中配置请求筛选。

另见

适用于主机托管的 Web 服务器平台(IIS):方案概述

在 IIS 上生成 ASP.NET 网站

在 IIS 上生成经典 ASP 网站

在 IIS 上生成 FTP 站点

使用 IIS 服务器生成 Web 场