当我进行部署槽交换时,为什么 Azure 会重新启动网站?

当我进行部署槽交换时,为什么 Azure 会重新启动网站?

我有一个在 Azure Websites 上运行的 .net 4.5 网站。我设置了一个临时部署。我预热了两个网站,然后运行交换过程(从 Azure 门户和 Azure powershell 进行)。无论我尝试什么,交换过程都会重新启动我的两个网站,它们大约需要 3 分钟才能启动。

我以为部署交换应该让网站保持“温暖”并且不会停机?我的网站大约 3 分钟无法使用!

据我所知,生产和登台时段具有相同的应用程序设置等。

如能得到任何建议或指点我将非常感激。

答案1

我知道这是一个老问题,但如果有人偶然发现它,我想回答一下。我发现,如果您有特定于插槽的配置设置(即使它们具有相同的值),Azure 需要在交换期间重新启动应用程序域才能应用新设置。

假设一个“暂存”和一个“生产”时段,其行为大致如下(不一定按此顺序):

  • 已启动交换
  • “生产”配置已应用于“暂存”站点 - 应用域已重新启动
  • “staging”配置已应用于“production”站点 - 应用域已重新启动
  • DNS/IP 设置已更新,交换已完成
  • 用户对网站暂时“关闭”感到恼火

如果您使用新的“带预览交换”选项,它仍将重新启动应用程序域,但它会在实际应用交换之前暂停,以便您有时间在重新启动后预热“暂存”实例。

答案2

如果您为网站配置了 AutoSwap,我相信网站应该不会停机 - 此网站描述了所需的步骤(很多步骤,从 i 到点,从 t 到横)https://azure.microsoft.com/en-us/documentation/articles/web-sites-staged-publishing/

相关内容