IIS报Service Unavailable错的解决方案

来源:互联网 发布:程序员修真之路 编辑:程序博客网 时间:2024/05/18 03:31
 

(一)

关于网站显示Service Unavailable的说明

问:为什么我们的网站经常会出现“Service Unavailable”(停止服务)的提示,刷新几下又可以访问甚至不能访问?

答:出现这种情况是由于您的网站超过了系统资源限制造成的,主要是程序占用资源太多。比如同样是100人在线的论坛,雷傲论坛所占的资源就是动网论坛所占资源的10倍以上;另外,一些死循环程序,或者不优化的程序都会占用太多的系统资源,而系统资源明显是有限的。由于我们的新虚拟主机是采用WINDOWS2003的操作系统,各网站之间是以独立进程运行的,不会相互影响。

如果一个网站的程序占资源太多或者发生太多的错误,系统日志就会提示:“应用程序池 'zccnpool11' 被自动禁用,原因是为此应用程序池提供服务的进程中出现一系列错误, 或者提示:应用程序池 'zccn028' 超过了其作业限制设置。有关更多信息,请参阅在 http://go.microsoft.com/fwlink/events.asp 的帮助和支持中心。这时,访问这个网站就会提示:Service Unavailable。一般系统会在30秒左右恢复正常,多刷新几次就能正常访问了。但是这个时间恢复后因为访问量太大在极短的时间网站又不能上了。

另外,如果网站当前访问人数过多,超过了系统的iis连接数限制(我们空间的iis连接数为100),也会出现Service Unavailable的提示(win2k主机下出现连接过多就会提示:连接过多,请稍后再试;而win2003的主机刚直接提示:Service Unavailable)如果经常出现类似的错误,请及时优化网站程序,或者升级你的虚拟主机至更高的款型,以获得更多的系统资源。



(二)想象中的解决方案

使用 windows 2003 IIS 6的用户会有 以下的问题:

一直正常的系统,突然有一天有一个网站打不开了
访问时提示如下:
Service Unavailable
但这个网站并没有限制IIS连接数。

然后是也影响到了别的网站,不到一会,其他的网站也全变成了
Service Unavailable


这是什么原因呢?
我们分析后可以知道,还是MS的老问题。ACCESS引擎当了。用服务器医生的文件医生修复,查看修复结果时会发现一些文件引起ACCESS引擎“灾难性故障”及“未将对象引用设置到对象的实例”的错误。

通过文件医生修复后,系统才会恢复正常。

懒汉这时候就可以去百度里面找   服务器医生   去下载了。


(三)根治该问题:

通过检测,发现我的windows2003的应用程序池被改成DefaultAppPool了!改成原来的MsSharePointAppPool就可以了。

转载一篇详细的文章:

浏览 Windows SharePoint Services Web 站点时收到“Service Unavailable”(服务不可用)错误信息

症状
当您浏览一个 Windows SharePoint Services Web 站点时,您可能会收到下面的错误信息:
Service Unavailable
原因
如果 Microsoft Internet 信息服务 (IIS) 6.0 中没有正确地配置用于虚拟服务器的应用程序池,就可能会发生此问题。此问题可能会在存在下列一种或多种情况时发生: •应用程序池没有运行。
•应用程序池帐户使用的密码不正确。
•应用程序池帐户不是服务器上的 IIS_WPG 和 STS_WPG 这两个组的公共成员。

解决方案
要解决此问题,请按照下列步骤操作: 1.验证是否已为虚拟服务器配置了应用程序池。默认的应用程序池是 MSSharePointPortalAppPool。

请按照下列步骤来确定虚拟服务器正在使用的应用程序池。 a. 单击“开始”,指向“管理工具”,然后单击“Internet 信息服务 (IIS) 管理器”。
b. 展开“ServerName”,展开“Web 站点”,右键单击虚拟服务器,然后单击“属性”。
c. 单击“主目录”选项卡。

为虚拟服务器配置的应用程序池列在“应用程序池”框中。
d. 单击“确定”。

2.验证应用程序池帐户使用的密码是否正确。IIS 不会自动轮询 Active Directory 目录服务中的密码更改。如果应用程序池帐户是一个域帐户,其密码已过期,则在为此帐户重新指定一个新密码后,您可能会收到本文“症状”部分所描述的错误信息。

请按照下列步骤来验证应用程序池帐户所用的密码是否正确: a. 在 Internet 信息服务 (IIS) 管理器中,展开“应用程序池”。
b. 右键单击为虚拟服务器配置的应用程序池(例如,右键单击“MSSharePointPortalAppPool”),然后单击“属性”。
c. 单击“标识”选项卡。
d. 在“密码”框中,键入列在“用户名”框中的应用程序池帐户所用的密码,然后单击“确定”。
e. 在“确认密码”对话框中,再次键入密码,然后单击“确定”。

3.验证应用程序池帐户是服务器上的 IIS_WPG 组和 STS_WPG 组的成员。

根据您的具体情况选用下列方法之一。 a. 在成员服务器上安装了 SharePoint Portal Server 的情况下: 1.单击“开始”,指向“管理工具”,然后单击“计算机管理”。
2.展开“本地用户和组”,然后展开“用户”。
3.右键单击虚拟服务器的应用程序池使用的帐户,然后单击“属性”。
4.单击“成员属于”选项卡。

验证 IIS_WPG 和 STS_WPG 是否都出现在“成员属于”列表中。如果其中之一没有列出或者两者均未列出,请根据具体情况将 IIS_WPG 组、STS_WPG 组或者这两个组添加到列表中。

b. 在域控制器上安装了 SharePoint Portal Server 的情况下: 1.启动“Active Directory 用户和计算机”。
2.展开“用户”。
3.右键单击虚拟服务器的应用程序池使用的帐户,然后单击“属性”。
4.单击“成员属于”选项卡。

验证 IIS_WPG 和 STS_WPG 都出现在“成员属于”列表中。如果其中之一没有列出或者两者均未列出,请根据具体情况将 IIS_WPG 组、STS_WPG 组或者这两个组添加到列表中。


4.重新启动 IIS 以回收应用程序池: a. 在 Internet 信息服务 (IIS) 管理器中,右键单击“ServerName”,指向“所有任务”,然后单击“重新启动 IIS”。
b. 单击“在 ServerName 上重新启动 Internet 信息服务”,然后单击“确定”。

============================================================

IIS 6.0 和 Windows Server 2003在网络应用服务器的管理、可用性、可靠性、安全性、性能与可扩展性方面提供了许多新的功能。IIS 6.0同样增强了网络应用的开发与国际性支持。IIS 6.0和 Windows Server 2003提供了最可靠的、高效的、连接的、完整的网络服务器解决方案。

  特点 描述

  可靠性与可伸缩性 IIS 6.0提供了更智能的、更可靠的Web服务器环境,新的环境包括应用程序健康监测、应用程序自动地循环利用。其可靠的性能提高了网络服务的可用性并且节省了管理员用于重新启动网络服务所花费的时间,IIS 6.0将提供最佳的扩展性和强大的性能从而充分发挥每一台Web服务器的最大功效。

  更安全、易于管理 IIS 6.0在安全与管理方面做出了重大的改进。安全性能的增强包括技术与需求处理变化两方面。另外,增强了在安全方面的认证和授权。IIS 6.0的默认安装是被全面锁定的,这意味着默认系统的安全系数就被设为最大,它提供的增强的管理性能改善了XML metabase的管理及新的命令行工具。

  服务器合并 IIS 6.0是一个具有高伸缩性的Web服务器,它为Web服务器的合并提供了新的机遇。通过将可靠的体系结构和内核模式驱动程序完美结合在一起,IIS 6.0允许您在单台服务器上托管更多的应用程序。服务器合并还可以降低企业与人工、硬件以及站点管理相关的成本。

  增强的开发与国际化支持 通过Windows Server 2003 与IIS 6.0支持的先进功能如内核模式缓存,应用程序开发人员将从Windows Server 2003 与IIS 6.0 单一的、完整的应用平台环境中受益。基于IIS 6.0,Windows Server 2003为开发者提供高标准的附加功能,包括快速应用程序开发以及广泛的语言选择,同时也提供了国际化支持和支持最新的Web标准。

  更高的安全性 IIS 6.0显著改进了Web服务器的安全性。IIS 6.0在默认情况下处于锁定状态,从而减少了暴露在攻击者面前的攻击表面积。此外,IIS 6.0的身份验证和授权功能也得到了改进。IIS 6.0还提供了更多更强大的管理功能,改善了对XML元数据库(metabase)的管理,并且提供了新的命令行工具。IIS 6.0在降低系统管理成本的同时,大大提高了信息系统的安全性。

  Web服务器更高的可靠性和可用性

  IIS 6.0已经经过了广泛的重新设计,以提高Web服务器的可靠性和可用性。新的容错进程架构和其它功能特性可以帮助用户减少不必要的停机时间,并提高应用程序的可用性。

  功能特性 描述

  容错进程架构 IIS 6.0的容错式进程架构将Web站点和应用程序隔离到一个自包含的单元之中(又称应用程序池)。应用程序池为管理员管理一组Web站点和应用程序提供了便利,同时提高了系统的可靠性,因为一个应用程序池中的错误不会引起另外一个应用程序池或者服务器本身发生故障。

  健康状况监视 IIS 6.0定期检查应用程序池的状态,并自动重新启动应用程序池中发生故障的Web站点或应用程序,从而提高了应用程序的可用性。通过自动禁用在短时间内频繁发生故障的Web站点和应用程序,IIS 6.0可以保护服务器和其它应用程序的安全。

  自动进程回收 IIS 6.0可以根据一组灵活的标准和条件——例如CPU利用率和内存占用情况,自动停止和重新启动发生故障的Web站点和应用程序,同时将请求放入队列。IIS 6.0还可以在回收一个工作进程时对客户机的TCP/IP连接加以维护,将Web服务客户端应用程序与后端不稳定的Web应用程序隔离开来。

  快速的故障保护 如果某个应用程序在短时间内频繁发生故障,IIS 6.0将自动禁用该程序,并且向所有新发出和排入队列的针对该应用程序的请求返回一个“503服务不可用”错误信息。例如,此外,还可以触发某些定制操作,例如触发一个调试操作或者向管理员发出通知。快速故障保护可以保护Web服务器免遭拒绝服务攻击。

  更加轻松的服务器管理

  借助IIS 6.0,Web基础结构的管理工作变得比以往更加轻松和灵活,从而为企业节约IT管理成本带来了新的机遇。

  功能特性 描述

  基于XML的配置文件 IIS 6.0中XML格式的纯文本元数据库(metabase)为发生故障的服务器带来了经过改进的备份和恢复功能。此外,它还提供了得到改进的故障处理和元数据库损坏恢复。使用常见的文本编辑工具对其进行直接编辑提供了更为出色的可管理性。

  运行程序的同时对其进行编辑 在服务器保持运行的同时,IIS 6.0允许管理员对服务器配置做出各种修改。例如,管理员可以使用该特性添加一个新的站点,创建虚拟目录,或者修改应用程序池和工作进程的配置——所有这些都是在IIS 6.0继续处理请求的同时发生的,并且无需进行重新编译或者重新启动服务器。

  基于命令行和脚本的管理 IIS 6.0的管理员可以使用Windows Server 2003的命令行工具完成很多常见的管理工作。利用一个简单的命令,管理员即可管理多个本地或远程计算机。IIS 6.0还提供了一个完整的脚本环境,以在不使用图形用户界面的情况下,从命令行自动完成多种常见的管理任务。

  对WMI的支持 IIS 6.0全面支持Windows Management Instrumentation(Windows管理规范,WMI), Web管理员可以通过它获取重要的企业管理数据,例如性能计数器和配置文件。WMI的接口从本质上说类似于继续享受支持的Microsoft Active Directory® Service Interfaces(ADSI),可以在管理脚本中使用,并且可以用来修改基于XML的配置元数据库。

  服务器合并

  和先前版本相比,IIS 6.0的性能已经得到了极大的提高,现在,单台服务器即可托管更多的站点和应用程序。

  功能特性 描述

  站点伸缩性 IIS 6.0改进了操作系统使用内部资源的方法。例如,在初始化过程中,IIS 6.0不会预先分配资源。通过运行IIS 6.0,您可以在单台服务器上管理更多的站点和并发执行更多的工作进程。和IIS的先前版本相比,服务器的启动和关闭过程更加快捷。所有这些改进都使得IIS 6.0能够以更大的伸缩性对站点进行管理.

  新的内核模式驱动程序,HTTP.sys Windows Server 2003引入了一种新的内核模式驱动程序,即HTTP协议堆栈(HTTP.sys),并使用它进行HTTP的解析和缓存,从而大大提高了系统的伸缩性和性能表现。IIS 6.0便建立在HTTP.sys的基础之上,并且针对提高Web服务器的吞吐量这一目的进行了特别的优化和调整。

  Web园 IIS 6.0的工作进程隔离模式还允许多个工作进程被配置到针对某个给定应用程序池的服务请求上,这种配置又被称作Web园(Web garden)。

  处理器关联 如果设置了处理器关联,IIS 6.0的工作进程便可以运行在指定的 微处理器或CPU上。处理器关联还可以和运行在多处理器计算机之上的Web园配合使用,在这些计算机上,CPU群集专门共指定的应用程序池使用。

  更快捷的应用程序开发

  通过提供一组全面完善的集成化应用程序服务和领先于业界的工具,Windows Server 2003应用程序环境大大改善了开发人员的工作效率和生产力。

  功能特性 描述

  ASP.NET和IIS的集成 通过将ASP.NET和IIS集成在一起,Windows Server 2003提供了更为美妙的开发体验。Windows Server 2003的各种增强建立在IIS 6.0的基础之上,为开发人员提供了高水平的功能特性,例如快速应用程序开发(RAD)和广泛灵活的语言选择。在Windows Server 2003中,使用ASP.NET和.NET Framework的得到了进一步优化,因为用来处理请求的体系架构与IIS 6.0紧密集成在一起。

  Microsoft .NET Framework Microsoft .NET Framework允许开发人员在ASP.NET和其它技术的帮助下创建优秀的Web应用程序。此外,它还可以帮助他们开发与他们目前正在设计和开发的应用程序完全相同的程序。.NET Framework和语言无关;实际上您可以使用任何语言为它开发程序。开发人员可以使用各种语言构建基于.NET的应用程序和服务,包括: Microsoft Visual C++® .NET、Visual Basic® .NET、JScript®以及Visual C# .NET。

  XML Web 服务 IIS 6.0提供了一个高性能的XML Web服务平台。XML Web服务为用户远程访问服务器功能提供了手段。通过使用Web服务,企业可以将编程接口暴露给他们的数据或业务逻辑,也可以通过客户端和服务器应用程序获得和操纵这些数据和业务逻辑。

  跨越组织地理边界的信息共享 跨越组织的地理边界使用各种语言进行信息共享正在经济全球化浪潮中发挥越来越大的作用。过去,HTTP协议的非Unicode结构将开发人员限制在系统代码页上。现在,利用经过UTF-8(UCS Transformation Format 8)编码的URL ,Unicode成为了可能,它带来的好处之一便是:人们可以支持更复杂的语言了,例如中文。IIS 6.0允许用户使用Unicode访问服务器变量。此外,它还添加了新的服务器支持函数,允许开发人员访问以Unicode形式表述的URL地址,因此改善了产品的国际化支持能力。

  更高的安全性

  IIS 6.0远比IIS 4x 或 IIS 5x安全,它拥有很多新的功能特性,能够大大提高您的Web基础结构的安全性。此外,在默认状况下,IIS 6.0即处于“锁定”状态,同时具有最为可靠的超时设置和内容限制。

  功能特性 描述

  锁定服务器 IIS 6.0在安全性方面进行了很大的加强。为了减少系统向外界暴露的攻击表面积,IIS 6.0默认情况下不会安装在Windows Server 2003之中——管理员必须明确地选择该组件并安装它。IIS 6.0缺省即处于锁定状态下,并仅仅能够为用户提供静态内容。通过使用Web服务扩展节点,Web站点的管理员可以根据组织的特殊需要,启用或禁用某些IIS功能。

  Web服务扩展列表 默认情况下的IIS安装不会编译、执行或者提交任何动态页面。为了向用户提供这些文件,您必须在Web服务扩展列表中添加每个允许提交的文件扩展名。这种做法可以防止某些人调用一些不够安全的动态页面。

  默认的低权限账户 所有IIS 6.0的工作进程默认情况下都使用“网络服务”用户账户运行,这个在Windows Server 2003中新增加的账户类型是一种拥有有限操作系统权限的内置账户。所有的ASP内置功能都使用低权限账户(匿名用户)在系统中运行。

  授权 IIS 6.0对Windows Server 2003内置的新的授权框架进行了进一步的扩展。此外,Web应用程序可以使用URL授权——以及授权管理器(Authorization Manager)——对用户的访问加以控制。现在,受约束的委派授权使得域管理员只能向特定的计算机和服务进行委派操作。

  总结

  IIS 6.0 与Windows Server 2003为网络应用服务器的管理提供了许多新的特性,包括实用性、可靠性、安全性与可扩展性。IIS 6.0也增强了开发和国际化支持,Windows Server 2003和IIS 6.0为您提供了一整套最可靠、高效、连接的一体化网络应用解决方案。

  回答者:靓的就是你 - 举人 四级 4-27 12:43

  管理员和Web应用程序开发者要求一个快速、可靠的Web平台,并且是安全和可扩展的。Internet 信息服务(IIS)6.0和微软Windows Server 2003 为网络应用程序服务器管理引入了许多新的特征;更强的性能和扩展性;高效性,高可靠性和安全性。进行了许多重大的结构改进以满足客户需求。

  IIS 6.0 提供广泛的新特性和技术和使它更为可靠、可扩展和安全、可管理,加强了对开发提供的技术特性支持。

  IIS6.0增强了安全性,为了尽量减少系统被攻击的危险,在默认情况下IIS6.0是不会被安装在Windows Server 2003中的,管理员需要手动进行安装,IIS6.0在被锁定状态中只为静态内容(.htm,.jpg.bmp等等)提供服务,通过网络服务扩展节点,网站管理员可根据企业的需求起用或禁止IIS功能。

  越来越多的客户在一个Web服务器上跑多个应用程序或者多个站点,这对如今的Web服务器无疑提出了特定的需求,如果一个ISP在同一服务器上有两个公司的站点甚至互相争夺资源,那么他必须保证隔离两个应用程序相互独立运行,更为重要的是——他必须确保一个有恶意的应用程序管理员无法访问其它应用程序的数据,完全隔离是绝对必要的。IIS6.0可以通过配置工作进程验证实现这个级别的隔离。此外,IIS6.0还可以通过一些如控制带宽、分配CPU线程或者基于内存的回复功能来制造环境,让同一服务器运行竞争激烈的多个应用程序。

原创粉丝点击