目录
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
评论留言