Windows 系统 IIS 服务的重启方法
目录
- 1. 使用命令行(推荐)
- 1.1 通过 PowerShell 或 CMD
- 1.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
,按回车
- 在“运行”(Win + R)中输入
- 选择左侧服务器名称
- 在右侧操作面板,点击 “重新启动”
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