1

有什么方法可以简单地重新启动站点所在的虚拟机?

今天遇到一个问题,git 将代码更改部署到我们的站点导致:

D:\home\site\repository\packages\Microsoft.Net.Compilers.1.0.0\tools\Microsoft.CSharp.Core.targets(67,5): error MSB6006: "csc.exe" exited with code -1073741819. [D:\home\site\repository\Foo\Bar.csproj]

最终在 Kudu/SCM 站点 Process Explorer 中杀死 VBCSCompiler.exe 并从门户发出重新部署后,导致部署成功......但随后站点无法正确启动:在 EventLog.xml 中有

HttpCompileException: External component has thrown an exception.
   at System.Web.Compilation.AssemblyBuilder.Compile()
   at System.Web.Compilation.BuildProvidersCompiler.PerformBuild()
   at System.Web.Compilation.ApplicationBuildProvider.GetGlobalAsaxBuildResult(Boolean isPrecompiledApp)
   at System.Web.Compilation.BuildManager.CompileGlobalAsax()
   at System.Web.Compilation.BuildManager.EnsureTopLevelFilesCompiled()
   at System.Web.Hosting.HostingEnvironment.Initialize(ApplicationManager appManager, IApplicationHost appHost, IConfigMapPathFactory configMapPathFactory, HostingEnvironmentParameters hostingParameters, PolicyLevel policyLevel, Exception appDomainCreationException)

所以一些非常基本的东西不适合环境。

修复它的唯一方法是在门户中选择不同的应用服务计划/定价层,这似乎导致站点在新 VM 中旋转(我们注意到发生了%COMPUTERNAME%变化)。

有没有比每次发生这种情况时在不同定价层之间随机交换更好的方法来获取新的 VM 实例?

4

2 回答 2

3

你已经有了所有的答案,但总结一下:

您不能直接重新启动运行站点的 VM。但是你可以做两件事:

  1. 扩大和缩小您的网站。这将导致您的站点被移动到一个随机的虚拟机
  2. 停止并启动您的网站。这将重新启动 w3wp 进程,而不是重新启动 VM。在同一 VM 上运行的任何其他站点都不会受到影响。
于 2015-11-23T19:13:44.673 回答
3

您可以尝试直接从 Web 应用管理刀片上的 Azure 门户重新启动站点。

在此处输入图像描述

于 2015-11-23T15:16:49.757 回答