Windows Azure Web Role 的 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主机有关,我们建议您采取以下操作:
1.尝试找出故障的根本原因,而不是暂时缓解症状。http://blogs.msdn.com/b/kwill/archive/2013/09/19/troubleshooting-scenario-5-internal-server-error-500-in-webrole.aspx上介绍的方法可能是一个很好的开始,或者也可以使用Visual
Studio 进行远程调试-http://msdn.microsoft.com/en-us/library/ff683670.aspx。如果您无法找到问题的根本原因,请联系Microsoft
Azure支持或在论坛中发帖,届时我们的支持团队可协助您确定问题所在。
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://blogs.msdn.com/b/windowsazure/archive/2014/04/30/iis-reset-on-windows-azure-web-role.aspx
Windows Azure Web Role 的 IIS 重置的更多相关文章
- Azure web role, work role 以及其他role
Azure web role, work role 以及其他role 如果没有创建过web role 和work role的话可以参考如下文章来创建一下web role 和work role. htt ...
- [Windows Azure] Windows Azure Web Sites, Cloud Services, and VMs: When to use which?
This document provides guidance on how to make an informed decision in choosing between Windows Azur ...
- Windows Azure Web Site (10) Web Site测试环境
<Windows Azure Platform 系列文章目录> 我们知道,在使用Azure Cloud Service的时候,会有2个不同的环境,称为Production环境和Stagin ...
- Windows Azure Web Site (11) 使用源代码管理器管理Azure Web Site
<Windows Azure Platform 系列文章目录> 熟悉Azure Web Site平台的读者都知道,我们可以通过FTP等方式,把本地的Web Application部署到微软 ...
- Windows Azure Web Site (13) Azure Web Site备份
<Windows Azure Platform 系列文章目录> 我们在使用Windows Azure Web Site的时候,经常会遇到需要对Web Site进行备份的情况.在这里笔者简单 ...
- [New Portal]Windows Azure Web Site (3) 创建Web Site和云端数据库
<Windows Azure Platform 系列文章目录> 在前一章的内容里,我介绍了使用Windows Azure Management Portal创建Web Site.本章,我将 ...
- Windows Azure Web Site (15) 取消Azure Web Site默认的IIS ARR
<Windows Azure Platform 系列文章目录> 我们知道,Azure Web Site (改名为Azure Web App)默认是可以保留Session的.Azure We ...
- 【Azure 云服务】Azure Cloud Service 为 Web Role(IIS Host)增加自定义字段 (把HTTP Request Header中的User-Agent字段增加到IIS输出日志中)
问题描述 把Web Role服务发布到Azure Cloud Service后,需要在IIS的输出日志中,把每一个请求的HTTP Request Header中的User-Agent内容也输出到日志中 ...
- 为Windows Azure Web站点添加MIME类型解决文件下载失败的问题
这几天在倒腾Autodesk 360 Viewer,前面的文章也介绍过了,这将是一个全新的在线模型浏览工具.我做了个实验,把A360Viewer放在一个web 站点,然后发布到Windows Azur ...
随机推荐
- Git 详细命令集
初始化一个Git仓库,使用git init命令. 添加文件到Git仓库,分两步: 第一步,使用命令git add <file>,注意,可反复多次使用,添加多个文件: 第二步,使用命令git ...
- Linux: service network/Network/NetworkManager
Linux:service network/Network/NetworkManager start 这三种有什么不同? 1.network service的制御网络接口配置信息改动后,网络服务必须从 ...
- overload的一点思考
仅参数类型不同的重载方法,使用过程的一个困惑: 有没有必要使用instanceof方法? package overload.special; public class OverLoadTest { p ...
- 跨平台的C++应用和UI开发库 QT
跨平台的C++应用和UI开发库 QT 运行环境: 授权方式:BSD 软件大小:M 下载量:3912 更新日期:2012-04-05 来源地址: 联系作者:Linux Qt是诺基亚开发的一个跨平 ...
- HM中CU,TU的划分
相信只要是做算法改进的,首先都会遇到这么一个问题:CU,PU及TU这几个在HM中该如何打印出它们最终的划分情况呢?也经常有人来问我这个问题,一般来说,因为问我的时候我一般手头都没有现成的代码可以提供, ...
- Mysql两种存储引擎的优缺点
MyISAM引擎是一种非事务性的引擎,提供高速存储和检索,以及全文搜索能力,适合数据仓库等查询频繁的应用.MyISAM中,一个table实际保存为三个文件,.frm存储表定义,.MYD存储数据,.MY ...
- 在centos中添加开机自启动服务
将服务的shell脚本添加到/etc/rc.d的rc.local文件的最后面,需要在服务名称的前面加上其路径. 例如我要将httpd添加到开机自启动中,需要在rc.local添加如下代码 /usr/s ...
- sql server操作2:查询数据库语句大全【转】
注:以下操作均建立在上篇文章sql Server操作1的数据基础之上 一.实验目的 熟悉SQL语句的基本使用方法,学习如何编写SQL语句来实现查询 二.实验内容和要求 使用SQL查询分析器查询数据,练 ...
- C语言中的回调函数
C语言中通过函数指针实现回调函数(Callback Function) ====== 首先使用typedef定义回调函数类型 ====== typedef void (*event_cb_t)(co ...
- Effective C++ 条款18
让接口easy被正确使用,不easy被误用 如题目,我们自己的程序接口是面向用户的,程序的目的不可是解决这个问题,并且要让用户easy使用.所以.必须保证我们的程序接口具有非常强的鲁棒性. 怎么保证接 ...