Windows 系统 IIS 服务的重启方法

Windows 系统 IIS 服务的重启方法

目录

1. 使用命令行(推荐)1.1 通过 PowerShell 或 CMD1.2 只重启 IIS 但不影响依赖服务

2. 使用 Windows 服务3. 使用 IIS 管理器4. 使用命令行更细粒度控制4.1 应用池管理4.2 网站管理4.3 高级操作

总结

在 Windows 或 Windows Server 上,在某些情况下(如更改网站配置、部署新代码后或 IIS 出现异常时),可能需要重启 IIS 来使更改生效或恢复服务。可以使用以下方法重启 IIS(Internet Information Services):

1. 使用命令行(推荐)

1.1 通过 PowerShell 或 CMD

打开 PowerShell 或命令提示符(CMD)输入以下命令重启 IIS:

iisreset

最常用的IIS重启方式,这样停止并重新启动所有IIS相关服务 ,执行速度快,适合大多数场景。

1.2 只重启 IIS 但不影响依赖服务

如果你不想影响 IIS 依赖的其他服务(如 FTP),可以使用:

# 安全重启,不强制终止正在执行的请求

iisreset /noforce

# 等价于先停止再启动 IIS,相对标准方式

iisreset /restart

2. 使用 Windows 服务

打开“运行”(Win + R),输入 services.msc,回车在 “服务” 窗口中找到 “World Wide Web Publishing Service”(W3SVC)右键点击,选择 “重新启动” (可能需要管理员权限)

3. 使用 IIS 管理器

打开 IIS 管理器

在“运行”(Win + R)中输入 inetmgr,按回车 选择左侧服务器名称在右侧操作面板,点击 “重新启动”

4. 使用命令行更细粒度控制

4.1 应用池管理

# 重启特定应用池

Restart-WebAppPool -Name "DefaultAppPool"

# 获取所有应用池状态

Get-WebAppPoolState -Name "*"

# 停止应用池

Stop-WebAppPool -Name "AppPool1"

4.2 网站管理

# 重启特定网站

Stop-Website -Name "MyWebsite"

Start-Website -Name "MyWebsite"

# 获取网站列表

Get-Website

# 启动所有网站

Get-Website | Where-Object {$_.State -ne "Started"} | Start-Website

4.3 高级操作

# 平滑重启(不中断现有连接)

Invoke-Command -ScriptBlock {iisreset /noforce}

# 检查IIS版本

Get-ItemProperty "HKLM:\SOFTWARE\Microsoft\InetStp" | Select-Object MajorVersion, MinorVersion

总结

全局重启(所有站点):iisreset仅重启某个站点:Stop-Website + Start-Website仅重启应用池:Restart-WebAppPool

评论留言