如何在 azure 中关闭应用服务的一个实例

Posted

技术标签:

【中文标题】如何在 azure 中关闭应用服务的一个实例【英文标题】:How to shutdown one instance of an app service in azure 【发布时间】:2016-09-12 17:29:38 【问题描述】:

我已将 Asp.Net MVC 应用程序部署到 azure 中的应用服务,并将其扩展到 2 个实例。

有时我需要重新启动一个实例,但我只能找到一种方法来重新启动整个网络应用程序。有没有办法只重启一个实例?即使删除实例然后创建一个新实例也对我有用。

【问题讨论】:

【参考方案1】:

您现在可以从 Azure 文档中的 App Service Plans - Reboot Worker 页面重新启动应用服务计划的实例。您可以使用“试用”功能直接从该页面重新启动实例。

访问Reboot Worker页面 使用包含应用服务计划的 Azure 租户帐户登录 点击“试用” 在右侧窗格中输入应用服务计划的名称和包含该计划的资源组 选择包含应用服务计划的 Azure 订阅 输入要重新启动的工作机器(实例)的名称。此值通常以 RD 开头,可以使用 Azure 门户中的 Web 应用的指标和诊断工具找到。 点击请求预览下方的绿色运行按钮。

【讨论】:

这很好用,谢谢。作为旁注,这似乎有效地删除了指定的实例并创建了一个新实例。在我们的案例中,删除甚至比重新启动更好,因为我怀疑底层工作机器存在问题,因为这种情况每隔几个月左右就会发生一次,对于我们来说只有一个实例。【参考方案2】:

您可以使用“高级应用程序重新启动”重新启动各个实例,您可以在 Azure 门户中的应用服务诊断工具下找到它。

【讨论】:

【参考方案3】:

在发布本文时,Azure 门户中的“诊断和解决问题 -> 最佳实践”刀片下的应用服务提到了 Health Check (Preview) 功能。

运行状况检查功能会自动从轮换中移除故障实例,从而提高可用性。 此功能将每 2 分钟在您的 webapp 的所有实例上 ping 指定的健康检查路径。如果实例在 10 分钟(5 次 ping)内没有响应,则该实例被确定为不健康,我们的服务将停止向其路由请求。 强烈建议生产应用程序利用此功能并最大限度地减少因故障实例导致的任何潜在停机时间。 注意:健康检查功能仅适用于托管在多个实例上的应用程序。有关更多信息,请查看以下文档。

【讨论】:

【参考方案4】:

没有超级干净的方法可以做到这一点,但仍然可以通过以下步骤实现:

转到门户中的 Web 应用程序 从“工具”菜单中选择“进程资源管理器” 您将看到所有实例的进程。您可以右键单击特定的 w3wp 并杀死它们,从而有效地重新启动站点。如果您只想重新启动站点,则不必终止 Kudu 进程(带有 K 图标的进程)。对于 WebJobs,也可以杀死 Kudu。

【讨论】:

门户网站的工具菜单中还有进程资源管理器,您可以在其中终止进程。【参考方案5】:

如果您使用的是应用服务,那么很遗憾,这是不可能的。您只能更新编号。实例数。

但作为替代方案,您可以减少实例数,然后再增加。或者,如果您出于任何原因想要更精细的控制,则可以在 IaaS 虚拟机工作负载中部署 Web 应用程序并手动设置实例。

【讨论】:

以上是关于如何在 azure 中关闭应用服务的一个实例的主要内容,如果未能解决你的问题,请参考以下文章

如何在自定义 iOS 应用扩展中关闭横向?

如何在移动 android/iOs(本机应用程序)中关闭 webview

如何从通知中关闭应用程序

即使应用程序在android中关闭,如何在服务应该工作时添加位置权限?

如何在 socket.io 1.0 中关闭服务器?

如何在 Kotlin 中关闭 Android 应用程序