菜鸟科技网

iisreset命令如何正确使用?

iisreset 是一个在 Windows 操作系统上用于停止、重新启动或重新启动 Internet Information Services (IIS) 的命令行工具,它就像是管理 IIS 服务的“总开关”。

iisreset命令如何正确使用?-图1
(图片来源网络,侵删)

iisreset 是一个功能强大且常用的命令,它通过停止然后重新启动所有与 IIS 相关的进程来重置 IIS,这会影响到所有运行在 IIS 上的网站、应用程序和 Web 服务。

主要用途:

  • 解决网站或应用程序的意外故障、无响应。
  • 应用 IIS 配置更改(尽管许多更改无需重启即可生效,但重启是确保生效的最终手段)。
  • 清理可能已经损坏的内存或应用程序池状态。
  • 作为一个快速的手段来“刷新”整个 Web 服务器环境。

基本语法

iisreset [计算机名] [/option] [/timeout:秒数]
  • [计算机名]: 可选参数,指定要重置的远程计算机名称,如果省略,则默认为本地计算机。
  • [/option]: 可选参数,指定 iisreset 的操作模式。
  • [/timeout:秒数]: 可选参数,指定等待操作完成的超时时间(以秒为单位),默认为 20 秒。

常用选项

iisreset 的行为由 /option 参数控制,以下是主要的选项及其说明:

选项 全称 描述
/restart Restart 默认选项,停止所有 IIS 服务,然后重新启动它们,这是最常见的用法。
/stop Stop 停止所有 IIS 服务(如 WWW, FTP, SMTP 等)。
/start Start 启动所有已停止的 IIS 服务。
/reload Reload 推荐用于应用配置更改,优雅地重新加载 IIS 配置,它会请求所有工作进程正常关闭,而不是强制终止,这能避免中断当前正在处理的请求。
/status Status 显示所有 IIS 服务的当前状态。
/disable Disable 禁用 World Wide Web Publishing Service,这会阻止 IIS 自动启动。
/enable Enable 启用 World Wide Web Publishing Service。
/noforce No Force 仅在所有工作进程能够正常关闭时才停止服务,如果某个进程无法关闭,命令会失败,默认情况下,iisreset /stop 会强制关闭(/force)。
/force Force 强制停止所有 IIS 服务,即使有正在运行的请求,这会导致当前请求被中断,这是默认行为。

使用示例

示例 1:最基本的用法(重启 IIS)

这是最常见的用法,等同于 iisreset /restart

iisreset命令如何正确使用?-图2
(图片来源网络,侵删)
iisreset

执行后,你会看到类似以下的输出:

Attempting to stop World Wide Web Publishing service
Attempting to stop World Wide Web Publishing service
IIS was successfully stopped
Attempting to start World Wide Web Publishing service
Attempting to start World Wide Web Publishing service
IIS was successfully restarted

示例 2:仅停止 IIS 服务

如果你想在维护前停止所有网站。

iisreset /stop

示例 3:仅启动 IIS 服务

在停止后,重新启动它们。

iisreset /start

示例 4:优雅地重新加载配置(推荐)

当你修改了 web.config 或 IIS 管理器中的配置后,使用此命令可以让 IIS 在不中断用户当前请求的情况下应用新配置。

iisreset命令如何正确使用?-图3
(图片来源网络,侵删)
iisreset /reload

示例 5:检查 IIS 服务状态

在执行操作前后,可以用此命令查看服务是否正常运行。

iisreset /status

输出示例:

World Wide Web Publishing Service state: Running

示例 6:在远程计算机上执行 IISReset

假设你要管理一台名为 WEB-SERVER-01 的远程服务器。

iisreset WEB-SERVER-01 /restart

注意: 执行此命令的账户需要在远程计算机上有管理员权限。

示例 7:设置超时时间

如果服务器响应缓慢,可以增加超时时间以避免命令过早失败。

iisreset /timeout:60

重要注意事项

  1. 影响范围iisreset停止并重启所有网站、应用程序池和 Web 服务,这意味着在 iisreset 执行期间,所有网站都将暂时无法访问。
  2. 权限:必须在命令提示符(CMD)或 PowerShell 中以管理员身份运行 iisreset,否则会提示“拒绝访问”。
  3. 生产环境慎用:在生产环境中,iisreset 会导致服务中断,应尽量使用 /reload 选项来最小化影响,对于单个有问题的网站,最佳实践是只重启其对应的应用程序池,而不是整个 IIS。
  4. 替代方案:对于单个应用程序池,更精细的操作是使用 appcmd 命令,
    • appcmd stop apppool "DefaultAppPool" (停止应用程序池)
    • appcmd start apppool "DefaultAppPool" (启动应用程序池) 这种方式只会影响该应用程序池下的网站,影响范围更小。
场景 推荐命令 说明
快速修复网站无响应 iisreset 简单粗暴,但有效,会中断所有服务。
应用配置更改 iisreset /reload 优雅地重载配置,推荐使用,对用户影响最小。
维护前准备 iisreset /stop 停止所有 IIS 服务。
维护后恢复 iisreset /start 启动所有 IIS 服务。
检查服务状态 iisreset /status 快速了解 IIS 是否在运行。
精细控制(单个网站) appcmd ... 更好的做法,只影响特定应用程序池。

希望这份详细的解释能帮助你更好地理解和使用 iisreset 命令!

分享:
扫描分享到社交APP
上一篇
下一篇