本帖最后由 pig2 于 2014-6-24 01:27 编辑
问题导读: 1.Microsoft Azure VM 上手动重置 IIS,而且现在您已无法访问您的网站,该如何解决? 2.为什么不应在 Azure上运行 IIS重置? 3.如果不使用IIS重置,该如何操作? 如果您是一名 Web开发人员,您很可能使用过“简单快捷”的iisreset命令重置运行不正常的 IIS主机。这种方法通常在经典的 Windows Server VM上非常有效。但是,如果您是在 Windows Azure上运行应用程序,请不要运行iisreset。
如果您阅读了本文章,您可能也会想要浏览我们所有的博客文章,这些文章都非常精彩,我们希望它们能在您开发下一代 Microsoft Azure 应用程序时对您有所帮助。如果您愿意继续浏览,我想说一声非常感谢!
但是如果我们的博客文章并非您读书消遣或睡前阅读的理想选择,您之所以会阅读本文章,可能是因为您尝试在您的 Microsoft Azure VM 上手动重置 IIS,而且现在您已无法访问您的网站。如果是这样,请不要担心,您仍然还有一个快速轻松的解决办法(但请记得,将来不要在 Microsoft Azure Web Role 上运行 Reset IIS)。
为什么不应在 Azure上运行 IIS重置? 当您运行 IIS重置时,将发生的其中一件事就是,负责将客户端连接到您的网站的 Windows万维网发布服务(W3SVC)会停止工作。 在经典的Windows Server中,W3SVC的“启动类型”为自动。因此,W3SVC服务将自动重启,一切正常运行。 但是在Windows Azure中,W3SVC设置为“使用命令行启动”,因此在您的Web Role 内部运行的Windows Azure Agent能够在启动角色前配置W3SVC。与经典Windows Server 中的IIS不同,Azure中的IIS角色并不是一直在运行的,而是由Azure平台控制其生命周期。
如果不使用IIS重置,该如何操作? 如果您在 Windows Azure中托管的 Web应用程序遇到问题,而且您认为此问题可能与 IIS主机有关,我们建议您采取以下操作:
2.确保您有多个角色实例,这样 Azure负载平衡器便可以将传入流量发送至正常运行的实例。您也可以考虑执行自定义 负载平衡器探测,这样一来在 Azure 认为此角色正常运行但 IIS未正常工作时,负载平衡器仍可正确引导流量。
3.最后一招,如果您只是需要让网站快速恢复上线,晚些时候再考虑调试问题,您可通过WindowsAzure管理门户执行角色重启而非 iisreset。
按照如下步骤使网站恢复上线: 1.从您的 MicrosoftAzure Web Role或Worker Role内部,进入“开始”>services.msc
2.在 Services(Local)(服务(本地))列表中,向下滚动找到World Wide Web Publishing Service(万维网发布服务)。找到了吗?
3.现在,右键单击World Wide Web Publishing Service(万维网发布服务),然后单击 Start(启动)。好了!您的网站应该已经恢复上线。
但如果您的网站仍无法访问,建议您回到Azure管理门户,在Cloud Service(云服务)下方找到INSTANCES(实例)选项卡,在您的Web role 上点击Reboot(重启),重新启动您的VM,就像这样(如果您有多个角色实例,您只需要重启您在其中运行了“iisreset”的实例即可):
http://blog.csdn.net/azurechina/article/details/30501719 |