重新启动 IIS

在某些配置更改生效之前或应用程序不可用时,可能需要重新启动 Internet 信息服务 (IIS)。重新启动 IIS 即首先停止 IIS,然后再次启动,以单个的命令完成操作的方式除外。有两种重新启动 IIS 的方式。

两种方式均可以停止、启动以及重新启动 IIS Internet 服务。IIS 管理器中的 Restart IIS 命令和 IISReset 命令行实用工具无法重新启动 HTTP 协议堆栈 (HTTP.sys) 或 IIS 之外的 Internet 服务。在以前版本的 IIS 中,使用 IISReset 命令行实用工具重新启动 IIS 是从没有响应的应用程序中进行恢复的常用做法。

重新启动或停止 IIS 或者重新启动 Web 服务器是一个严重的操作。当您重新启动 Internet 服务时,连接到 Web 服务器的所有会话(包括 Internet、FTP、SMTP 和 NNTP)都将断开连接。Web 应用程序持有的所有数据将丢失。在重新启动 Internet 服务之前,所有 Internet 站点都不可用。因此,只要有可能,您就应避免重新启动、停止或重新启动服务器。IIS 6.0 包括应用程序池回收和为重新启动 IIS 提供替代方法的几个其他的功能。有关设计用于增加 IIS 可靠性和消除重新启动 IIS 需求的功能列表,请参阅此主题中的重新启动 IIS 的替代方法

注意 注意 重新启动 IIS 时,对配置数据库的更改将丢失。为避免丢失对配置数据库所做的更改和触发备份配置数据库的历史文件,请使用 SaveData 方法。

在 IIS 6.0 中,万维网发布服务(WWW 服务)在服务主机的 Svchost.exe 中。作为已知的 IIS 管理服务,FTP、NNTP、SMTP 服务和 IIS 配置数据库在 Inetinfo.exe 中。如果 IIS 管理服务异常终止,那么 IIS 将自动重新启动。此功能也称为自动重新启动。在以前的 IIS 5.0 中,如果 IIS 管理服务异常终止,那么由于 WWW 服务和 IIS 管理服务共享相同的应用程序空间,所以它们必须都要重新启动。在 IIS 6.0 中,如果 IIS 管理服务异常终止,那么因为 WWW 服务和 IIS 管理服务在独立的进程空间运行,所以 WWW 服务不会停止。在这种情况下,WWW 服务识别出配置数据库已经异常终止并且查看 IIS 管理服务上是否配置了 IISReset 命令行实用工具。如果 IIS 管理服务上配置了 IISReset,则 IIS 将等待 IIS 管理服务再次启动并且重新连接 WWW 服务。

以下列表中的所有 Internet 服务,(如果已经安装),重新启动 IIS 后才能生效。默认情况下,并非以下列表中的所有服务都被安装。

服务描述
IIS 管理服务 此服务管理所有的 IIS 服务,而非 www 服务(FTP、NMTP 和 SMTP)。
WWW 服务 此服务提供客户端与网站之间的 Web 连接。
HTTP SSL 服务 此服务提供客户端与网站之间的安全 Web 连接。
FTP 服务 此服务通过 IIS 管理器提供 FTP 连接和管理。
SMTP 服务 此服务通过网络传输电子邮件。
NNTP 服务 此服务通过网络传输网络新闻。

要点 要点 您必须是本地计算机上 Administrators 组的成员或者必须被委派了相应的权限,才能执行下列步骤。作为安全性的最佳操作,请使用不属于 Administrators 组的帐户登录计算机,然后使用运行方式命令以管理员身份运行 IIS 管理器。在命令提示符下,键入 runas /user:administrative_accountname "mmc %systemroot%\system32\inetsrv\iis.msc"

使用 IIS 管理器重新启动 IIS

  1. 在 IIS 管理器中,右键单击本地计算机,指向“所有任务”,然后单击“重新启动 IIS”。
  2. 在“您想让 IIS 做什么”下拉列表中,单击“重新启动计算机名的 Internet 服务”。
  3. IIS 在重新启动之前尝试停止所有服务。IIS 最多等待 5 分钟的时间停止所有的服务。如果服务无法在 5 分钟内停止,所有 IIS 服务都将终止,然后重新启动 IIS。此外,单击“立即结束”强制所有的 IIS 服务立即停止,然后重新启动 IIS。

警告 警告 如果 IIS 在服务正常停止前终止,将导致数据丢失。如果可能,在重新启动 IIS 前备份 IIS 配置。有关备份 IIS 配置的信息,请参阅备份和还原配置数据库

使用 IISReset 命令行实用工具重新启动 IIS

  1. 从“开始”菜单,单击“运行”。
  2. 在“打开”框中,键入 cmd,然后单击“确定”。
  3. 在命令提示符下,键入 iisreset /noforce computername,按 Enter
  4. 注意 注意 如果无法在 1 分钟的超时时间内停止所有的 IIS 服务,推荐使用 /noforce 参数以避免数据丢失。如果确定强制 IIS 重新启动是安全的,则可以省略 /noforce 参数。此外,如果您是从本地登录的,那么不需要 computername 参数。如果您正在远程管理 IIS 服务器,那么 computername 参数就是要重新启动 IIS 的计算机的 NetBIOS 名称。

  5. IIS 在重新启动之前尝试停止所有服务。IISReset 命令行实用工具最多等待 1 分钟的时间停止所有的服务。如果服务无法在 1 分钟内停止,所有 IIS 服务都将终止,然后重新启动 IIS。

    注意 注意 可以使用 iisreset /timeout 命令调整超时值。

IISReset 命令行实用工具有几个可用选项。有关 IISReset 命令行实用工具的选项的详细信息,请打开命令行窗口,键入 iisreset /? 还可以在 Windows 帮助中搜索“iisreset”。

自动重新启动

默认情况下,IIS 管理服务和 WWW 服务启用自动重新启动。如果这两个服务中的一个进程异常终止,那么该服务将自动重新启动。使用 net start 命令重新启动 WWW 服务。使用 iisreset 命令重新启动 IIS 管理服务。这些命令由内部发出而无须用户干预。可以使用以下的步骤禁用自动重新启动。

禁用 IIS 管理服务自动重新启动

  1. 从“开始”菜单中,右键单击“我的电脑”,然后单击“管理”。
  2. 在控制台树中,展开“服务和应用程序”节点,然后单击“服务”。
  3. 右键单击“IIS Admin Service”,然后单击“属性”。
  4. 单击“恢复”选项卡,然后在“第一次失败”、“第二次失败”和“后续失败”列表框中,单击“不操作”。
  5. 单击“确定”。

仅能在本地计算机上发出以下的命令。

从命令行禁用 IIS 管理服务重新启动

  1. 从“开始”菜单,单击“运行”。
  2. 在“打开”框中,键入 cmd,然后单击“确定”。
  3. 在命令提示符下,键入 iisreset /disable,然后按Enter。此命令将禁用 IIS 并且防止执行所有的 iisreset 调用。

    注意 注意 要重新启用 IIS 管理服务,在命令提示符下,键入 iisreset /enable,然后按 Enter

禁用 WWW 服务的重新启动

  1. 从“开始”菜单中,右键单击“我的电脑”,然后单击“管理”。
  2. 在控制台树中,展开“服务和应用程序”节点,然后单击“服务”。
  3. 右键单击“World Wide Web Publishing Service”,然后单击“属性”。
  4. 单击“恢复”选项卡,然后在“第一次失败”、“第二次失败”和“后续失败”列表框中,单击“不操作”。
  5. 单击“确定”。

重新启动 IIS 的替代方法

如果由于应用程序错误,必须重新启动 IIS,那么请考虑调试或重写此应用程序。为确保应用程序不干预其他服务和导致重新启动 IIS,建议您启用下列项:

相关主题

© 1997-2003 Microsoft Corporation。保留所有权利