IIS出现Service Unavailable
你Ghost安装的2003系统带SP1补丁的,在最后安装了IIS6.0
结果访问站点的时候,出现“Service Unavailable”的提示,
在IIS管理器中一看,应用程序池已经自动中止了!
不过把应用程序池属性中的“标识”中的“预定义帐户”由“网络服务”改成“本地系统”却不会出现应用程序池自动关闭的情况,不过IIS也就能解析脚本语言了。
按照网的一些方法如:
结果访问站点的时候,出现“Service Unavailable”的提示,
在IIS管理器中一看,应用程序池已经自动中止了!
不过把应用程序池属性中的“标识”中的“预定义帐户”由“网络服务”改成“本地系统”却不会出现应用程序池自动关闭的情况,不过IIS也就能解析脚本语言了。
按照网的一些方法如:
引用:
建议用一下步骤重新安装。
a) 把整个IIS卸载
b) 把 %windir%\system32\inetsrv 删除掉
把%windir%\iisX.log删除掉。 X 是(w2k-iis5.log,xp-iis6.log)
也把 \inetpub\ 目录删除掉
(可以在safe-mode里删除)
c) 重装IIS,打上最新补丁
亦不能解决此问题,最后还是重新安装了系统,用原版盘安装的。
这个问题比较怪,估计是文件的权限和版本出了点问题,因为IIS是在最后安装的,
在安装的过程中提示要放入原版的光盘和SP1的光盘。
而我的SP1光盘却是从SP1补丁包中提取出来的,原版光盘却是网上Down的。
同时,可能和补丁的安装系统也有关系,装了系统后还是最好是先装要用的软件,再打补丁,升级为好。
什么会Service Unavailable ?
一、 如果出现“Service Unavailable”的提示,刷新几下又可以访问。
出现这种情况是由于您的网站超过了iis限制造成的,由于2003的操作系统在提示IIS过多时并非像2000系统提示“链接人数过多”,而是提示"Service Unavailable",出现这种情况是由于网站超过了系统资源限制造成的,主要是程序占用资源太多。比如同样是100人在线的论坛,雷傲论坛所占的资源就是PW论坛所占资源的10倍以上;另外,一些死循环程序,或者不优化的程序都会占用太多的系统资源,而系统资源明显是有限的。不过WINDOWS2003的操作系统,各网站之间是以独立进程运行的,不会相互影响。
如果一个网站的程序占资源太多或者发生太多的错误,系统日志就会提示:“应用程序池 'xxx' 被自动禁用,原因是为此应用程序池提供服务的进程中出现一系列错误,或者提示:应用程序池 'xxx' 超过了其作业限制设置。这时,访问这个网站就会提示:Service Unavailable。一般系统会在30秒左右恢复正常,多刷新几次就能正常访问了。 有关更多信息,请参阅在 http://go.microsoft.com/fwlink/events.asp 的帮助和支持中心。这时,访问这个网站就会提示:Service Unavailable。一般系统会在30秒左右恢复正常,多刷新几次就能正常访问了。
另外,如果你的网站当前访问人数过多,超过了系统的iis连接数限制,也会出现Service Unavailable的提示(win2k主机下出现连接过多就会提示:连接过多,请稍后再试;而win2003的主机刚直接提示:Service Unavailable)
二、没有限制IIS连接,还是遭遇Service Unavailable
一般使用windows 2003 IIS 6的用户可能这个问题一直正常的系统,突然有一个网站打不开了
提示: Service Unavailable 但这个网站并没有限制IIS连接数。然后马上影响到了别的网站,不到一会,其他的网站也全变成了 Service Unavailable
这是什么原因呢?
我们分析后可以知道,还是MS的老问题。ACCESS引擎当了。用服务器医生的文件医生修复,查看修复结果时会发现一些文件引起ACCESS引擎“灾难性故障”及“未将对象引用设置到对象的实例”的错误。 通过文件医生修复后,系统才会恢复正常。
三、浏览一个 Windows SharePoint Services Web 站点时,提示:Service Unavailable
如果 Microsoft Internet 信息服务 (IIS) 6.0 中没有正确地配置用于虚拟服务器的应用程序池,就可能会发生此问题。此问题可能会在存在下列一种或多种情况时发生:a.应用程序池没有运行。 b.应用程序池帐户使用的密码不正确。c.应用程序池帐户不是服务器上的 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限制造成的,由于2003的操作系统在提示IIS过多时并非像2000系统提示“链接人数过多”,而是提示"Service Unavailable",出现这种情况是由于网站超过了系统资源限制造成的,主要是程序占用资源太多。比如同样是100人在线的论坛,雷傲论坛所占的资源就是PW论坛所占资源的10倍以上;另外,一些死循环程序,或者不优化的程序都会占用太多的系统资源,而系统资源明显是有限的。不过WINDOWS2003的操作系统,各网站之间是以独立进程运行的,不会相互影响。
如果一个网站的程序占资源太多或者发生太多的错误,系统日志就会提示:“应用程序池 'xxx' 被自动禁用,原因是为此应用程序池提供服务的进程中出现一系列错误,或者提示:应用程序池 'xxx' 超过了其作业限制设置。这时,访问这个网站就会提示:Service Unavailable。一般系统会在30秒左右恢复正常,多刷新几次就能正常访问了。 有关更多信息,请参阅在 http://go.microsoft.com/fwlink/events.asp 的帮助和支持中心。这时,访问这个网站就会提示:Service Unavailable。一般系统会在30秒左右恢复正常,多刷新几次就能正常访问了。
另外,如果你的网站当前访问人数过多,超过了系统的iis连接数限制,也会出现Service Unavailable的提示(win2k主机下出现连接过多就会提示:连接过多,请稍后再试;而win2003的主机刚直接提示:Service Unavailable)
二、没有限制IIS连接,还是遭遇Service Unavailable
一般使用windows 2003 IIS 6的用户可能这个问题一直正常的系统,突然有一个网站打不开了
提示: Service Unavailable 但这个网站并没有限制IIS连接数。然后马上影响到了别的网站,不到一会,其他的网站也全变成了 Service Unavailable
这是什么原因呢?
我们分析后可以知道,还是MS的老问题。ACCESS引擎当了。用服务器医生的文件医生修复,查看修复结果时会发现一些文件引起ACCESS引擎“灾难性故障”及“未将对象引用设置到对象的实例”的错误。 通过文件医生修复后,系统才会恢复正常。
三、浏览一个 Windows SharePoint Services Web 站点时,提示:Service Unavailable
如果 Microsoft Internet 信息服务 (IIS) 6.0 中没有正确地配置用于虚拟服务器的应用程序池,就可能会发生此问题。此问题可能会在存在下列一种或多种情况时发生:a.应用程序池没有运行。 b.应用程序池帐户使用的密码不正确。c.应用程序池帐户不是服务器上的 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 信息服务”,然后单击“确定”
Service Unavailable 的牢骚 作者:jothui
前几天新装的系统,将安全策略配置完成,安装iis,建立一个静态的站点,浏览提示:Service Unavailable。
首先我可以确认我的安全策略是不会有问题的,因为我的策略已经在几十台机器上实验过了。
在日志里面提示的错误如下:
网上搜索了很多相关问题,看了不下几十个站点,他们出现这个问题主要集中在:
应用程序池没有运行这个错误我已经验证没错,其他两个我无法验证,按照网上说的方法无法进行下去,因为我的“Active Directory 用户和计算机”出错根本打不开,现在出现两个问题在我面前我无法解决,网上查了半天得不到要领。没有办法,惹不起我躲了:
打开IIS管理器--网站--右键属性--服务器--“以IIS5.0隔离模式运行www服务”勾上。
网站正常运行,站点显示无错。
现在我避开了两个问题:
1.程序池有错误我没有修正
2.Active Directory 用户和计算机有错误没有找到即决方法,
失败经验不足,如果有路过知道的朋友帮帮忙给我一个建议哈
首先我可以确认我的安全策略是不会有问题的,因为我的策略已经在几十台机器上实验过了。
在日志里面提示的错误如下:
引用:
应用程序-特定 权限设置未将 COM 服务器应用程序(CLSID 为
{A9E69610-B80D-11D0-B9B9-00A0C922E750}
)的 本地 激活 权限授予用户 NT AUTHORITY\NETWORK SERVICE SID (S-1-5-20)。可以使用组件服务管理工具修改此安全权限。
有关更多信息,请参阅在 http://go.microsoft.com/fwlink/events.asp 的帮助和支持中心。
引用:
为应用程序池 'DefaultAppPool' 提供服务的进程意外终止。进程 ID 是 '2460'。进程退出代码是 '0xffffffff'。
有关更多信息,请参阅在 http://go.microsoft.com/fwlink/events.asp 的帮助和支持中心。
引用:
应用程序池 'DefaultAppPool' 被自动禁用,原因是为此应用程序池提供服务的进程中出现一系列错误。
有关更多信息,请参阅在 http://go.microsoft.com/fwlink/events.asp 的帮助和支持中心。
引用:
应用程序池没有运行。
应用程序池帐户使用的密码不正确。
应用程序池帐户不是服务器上的 IIS_WPG 和 STS_WPG 这两个组的公共成员。
打开IIS管理器--网站--右键属性--服务器--“以IIS5.0隔离模式运行www服务”勾上。
网站正常运行,站点显示无错。
现在我避开了两个问题:
1.程序池有错误我没有修正
2.Active Directory 用户和计算机有错误没有找到即决方法,
失败经验不足,如果有路过知道的朋友帮帮忙给我一个建议哈
Service Unavailable 的牢骚 续作者:jothui
前两天的唠叨:Service Unavailable 的牢骚,让我很是痛苦了两天,昨天终于解决,这里牵涉到一些问题,我要将系统安装开始说起:
我在装系统的时候是使用默认安装,及没有安装iis
由于机器上没有i386,我将其中一台服务器的i386(安装过,里面文件没有问题)文件夹copy到这台服务器上后进行安装iis,安装过程提示有文件无法找到,我从光盘上将提示的文件找出并复制到服务器上,大概有缺失10多个。
安装完成无错,进行iis设置发现了“Service Unavailable”,于是引发了我的:Service Unavailable 的牢骚,昨天我在测试asp文件时,总是提示“请求的资源正在使用中”,这个情况我之前碰到过,windows2003 出现“请求的资源在使用中”使用这个方法根本无法解决现有问题,到百度和google上找了半天,方法基本上和我的windows2003 出现“请求的资源在使用中”方法一模一样,看来大家很多都是copy的了。
我重装了iis几次,到最后干脆安装完IIS以后服务“IIS Admin Service”和“World Wide Web Publishing Service”根本就不存在,“Internet 信息服务(IIS)管理器”打开但是连接不上服务。重装几次问题一样,无奈只好去机房解决了
到机房以后我非常不甘心,又安装了两便,问题依旧。
没办法,我拿出一张windows盘来,安装iis直接从光盘上读取,安装完成以后,再也没有上面碰到的问题。所有问题都烟消云散,asp运行非常通畅。
到此我没有得到具体的解决方案,也没有发现问题所在。我只能从中猜个大概:
安装iis过程原来缺失文件,我补充以后安装完成,但我估计仍然没有安装完整,有些文件在iis安装过程中即使缺失也能完成,只是运行过程中会有不正常现象。及microsoft的iis的程序不够完善造成莫名的错误。
--------
告诫刚装系统的朋友,如果出现这个问题不要头疼,用我上面的解决方法试试。
我在装系统的时候是使用默认安装,及没有安装iis
由于机器上没有i386,我将其中一台服务器的i386(安装过,里面文件没有问题)文件夹copy到这台服务器上后进行安装iis,安装过程提示有文件无法找到,我从光盘上将提示的文件找出并复制到服务器上,大概有缺失10多个。
安装完成无错,进行iis设置发现了“Service Unavailable”,于是引发了我的:Service Unavailable 的牢骚,昨天我在测试asp文件时,总是提示“请求的资源正在使用中”,这个情况我之前碰到过,windows2003 出现“请求的资源在使用中”使用这个方法根本无法解决现有问题,到百度和google上找了半天,方法基本上和我的windows2003 出现“请求的资源在使用中”方法一模一样,看来大家很多都是copy的了。
我重装了iis几次,到最后干脆安装完IIS以后服务“IIS Admin Service”和“World Wide Web Publishing Service”根本就不存在,“Internet 信息服务(IIS)管理器”打开但是连接不上服务。重装几次问题一样,无奈只好去机房解决了
到机房以后我非常不甘心,又安装了两便,问题依旧。
没办法,我拿出一张windows盘来,安装iis直接从光盘上读取,安装完成以后,再也没有上面碰到的问题。所有问题都烟消云散,asp运行非常通畅。
到此我没有得到具体的解决方案,也没有发现问题所在。我只能从中猜个大概:
安装iis过程原来缺失文件,我补充以后安装完成,但我估计仍然没有安装完整,有些文件在iis安装过程中即使缺失也能完成,只是运行过程中会有不正常现象。及microsoft的iis的程序不够完善造成莫名的错误。
--------
告诫刚装系统的朋友,如果出现这个问题不要头疼,用我上面的解决方法试试。
Service Unavailable 的牢骚 续二作者:jothui
以前的牢骚已经过去了比较长的一段时间:
Service Unavailable 的牢骚
Service Unavailable 的牢骚 续
以前遗留下来的问题还是没有完全解决,我在《Service Unavailable 的牢骚 续》中只解决了本人碰到《Service Unavailable 的牢骚》的问题,,这个问题的解决方法不是通用的有效的,今天在Microsoft上看到了它的完整解决方法,,拿过来共享一下,,本人未测试过是否有效,,但是都是官方站点的解决方法,我想我没有理由再去怀疑它了是吧?
好了,,我们来看看官方是怎么解决的呢?
------------------------------------------------
在基于 Windows Server 2003 的域控制器上浏览 IIS 6.0 网页时,收到“Service Unavailable”(服务不可用)错误消息
症状
当您浏览驻留在基于 Microsoft Windows Server 2003 的域控制器上的网页时,可能会收到下面的 Active Server Pages (ASP) Error 5 错误消息:
服务不可用
另外,系统事件日志中可能会记录以下警告事件:
类型:警告
来源:W3SVC
类别:无
事件 ID: 1009
日期:Date
时间:Time
用户:N/A
计算机:Computer_Name
描述:
为应用程序池 'Application_Pool_Name' 提供服务的进程意外终止。进程 ID 是 '5288'。进程退出代码是 '0xffffffff'。
有关更多信息,请参见位于 <http://support.microsoft.com.> 上的“帮助和支持中心”
另外,在应用程序事件日志中还可能记录以下错误事件:
类型:消息
来源:Active Server Pages
类别:无
事件 ID: 5
日期:Date
时间:Time
用户:N/A
计算机:Computer_Name
描述:
错误:应用程序池 'Application_Pool_Name' 的模板永久性缓存初始化失败,这是由下列错误所导致:无法创建应用程序池的磁盘缓存子目录。数据可能包含额外的错误代码。
有关更多信息,请参见位于 <http://support.microsoft.com.> 上的“帮助和支持中心”
在使用 Filemon 监视文件活动时,收到一条与以下内容类似的错误消息:
3521 Time w3wp.exe:3168 Create C:\WINDOWS\system32\inetsrv\ASP Compiled Templates\PID3168.TMP ACCESS DENIED NT AUTHORITY\NETWORK SERVICE
原因
如果运行 Microsoft Internet 信息服务 (IIS) 6.0 的服务器同时也是一个域控制器,就会出现此问题。出现这个问题的原因是应用程序池正在使用 NT Authority\Network Service 帐户,而 NT Authority\Network Service 帐户可能没有访问必需文件夹的权限。
解决方案
要解决这个问题,应手动设置 IIS_WPG 组对这些文件夹的权限,然后设置 NT Authority\Network Service 帐户对这些文件夹的权限。
要设置 IIS_WPG 组对这些文件夹的权限,请按照下列步骤操作: 1. 启动 Windows 资源管理器,然后打开以下文件夹:
%systemroot%\Help\iisHelp
2. 在右窗格中右键单击“Common”文件夹,然后单击“共享和安全”。
3. 单击“安全”选项卡,单击“添加”,键入 IIS_WPG,然后单击“确定”。
4. 选中“IIS_WPG”后,单击以选中“允许”列下的以下复选框,然后单击“确定”:
• 读取和执行
• 列出文件夹目录
• 读取
5. 打开下面的文件夹:
%systemroot%\system32\inetsrv
6. 在右窗格中右键单击“ASP Compiled Templates”文件夹,然后单击“共享和安全”。
7. 单击“安全”选项卡,单击“IIS_WPG”组,然后单击以选中“允许”列下的“完全控制”复选框。单击“确定”。
8. 打开下面的文件夹:
%systemroot%
9. 在右窗格中右键单击“IIS Temporary Compressed”文件夹,然后单击“共享和安全”。
10. 单击“安全”选项卡,单击“IIS_WPG”组,然后单击以选中“允许”列下的“完全控制”复选框。单击“确定”。
要为 NT Authority\Network Service 帐户设置对这些文件夹的权限,请按照下列步骤操作:
1. 启动 Windows 资源管理器,然后打开以下文件夹:
%systemroot%\Help\iisHelp
2. 在右窗格中右键单击“Common”文件夹,然后单击“共享和安全”。
3. 单击“安全”选项卡,单击“添加”,键入 NETWORK SERVICE,然后单击“确定”。
4. 选中“NETWORK SERVICE”后,单击以选中“允许”列下的以下复选框,然后单击“确定”:
• 读取和执行
• 列出文件夹目录
• 读取
5. 打开下面的文件夹:
%systemroot%\system32\inetsrv
6. 在右窗格中右键单击“ASP Compiled Templates”文件夹,然后单击“共享和安全”。
7. 单击“安全”选项卡,单击“添加”,键入 NETWORK SERVICE,然后单击“确定”。
8. 选中“NETWORK SERVICE”组后,单击以选中“允许”列下的“完全控制”复选框,然后单击“确定”。
9. 打开下面的文件夹:
%systemroot%
10. 在右窗格中右键单击“IIS Temporary Compressed”文件夹,然后单击“共享和安全”。
11. 单击“安全”选项卡,单击“添加”,键入 NETWORK SERVICE,然后单击“确定”。
12. 选中“NETWORK SERVICE”组后,单击以选中“允许”列下的“完全控制”复选框,然后单击“确定”。
完成这些步骤后,从“服务”管理单元或者“计算机管理”管理单元重新启动 IIS 管理服务。
Service Unavailable 的牢骚
Service Unavailable 的牢骚 续
以前遗留下来的问题还是没有完全解决,我在《Service Unavailable 的牢骚 续》中只解决了本人碰到《Service Unavailable 的牢骚》的问题,,这个问题的解决方法不是通用的有效的,今天在Microsoft上看到了它的完整解决方法,,拿过来共享一下,,本人未测试过是否有效,,但是都是官方站点的解决方法,我想我没有理由再去怀疑它了是吧?
好了,,我们来看看官方是怎么解决的呢?
------------------------------------------------
在基于 Windows Server 2003 的域控制器上浏览 IIS 6.0 网页时,收到“Service Unavailable”(服务不可用)错误消息
症状
当您浏览驻留在基于 Microsoft Windows Server 2003 的域控制器上的网页时,可能会收到下面的 Active Server Pages (ASP) Error 5 错误消息:
服务不可用
另外,系统事件日志中可能会记录以下警告事件:
类型:警告
来源:W3SVC
类别:无
事件 ID: 1009
日期:Date
时间:Time
用户:N/A
计算机:Computer_Name
描述:
为应用程序池 'Application_Pool_Name' 提供服务的进程意外终止。进程 ID 是 '5288'。进程退出代码是 '0xffffffff'。
有关更多信息,请参见位于 <http://support.microsoft.com.> 上的“帮助和支持中心”
另外,在应用程序事件日志中还可能记录以下错误事件:
类型:消息
来源:Active Server Pages
类别:无
事件 ID: 5
日期:Date
时间:Time
用户:N/A
计算机:Computer_Name
描述:
错误:应用程序池 'Application_Pool_Name' 的模板永久性缓存初始化失败,这是由下列错误所导致:无法创建应用程序池的磁盘缓存子目录。数据可能包含额外的错误代码。
有关更多信息,请参见位于 <http://support.microsoft.com.> 上的“帮助和支持中心”
在使用 Filemon 监视文件活动时,收到一条与以下内容类似的错误消息:
3521 Time w3wp.exe:3168 Create C:\WINDOWS\system32\inetsrv\ASP Compiled Templates\PID3168.TMP ACCESS DENIED NT AUTHORITY\NETWORK SERVICE
原因
如果运行 Microsoft Internet 信息服务 (IIS) 6.0 的服务器同时也是一个域控制器,就会出现此问题。出现这个问题的原因是应用程序池正在使用 NT Authority\Network Service 帐户,而 NT Authority\Network Service 帐户可能没有访问必需文件夹的权限。
解决方案
要解决这个问题,应手动设置 IIS_WPG 组对这些文件夹的权限,然后设置 NT Authority\Network Service 帐户对这些文件夹的权限。
要设置 IIS_WPG 组对这些文件夹的权限,请按照下列步骤操作: 1. 启动 Windows 资源管理器,然后打开以下文件夹:
%systemroot%\Help\iisHelp
2. 在右窗格中右键单击“Common”文件夹,然后单击“共享和安全”。
3. 单击“安全”选项卡,单击“添加”,键入 IIS_WPG,然后单击“确定”。
4. 选中“IIS_WPG”后,单击以选中“允许”列下的以下复选框,然后单击“确定”:
• 读取和执行
• 列出文件夹目录
• 读取
5. 打开下面的文件夹:
%systemroot%\system32\inetsrv
6. 在右窗格中右键单击“ASP Compiled Templates”文件夹,然后单击“共享和安全”。
7. 单击“安全”选项卡,单击“IIS_WPG”组,然后单击以选中“允许”列下的“完全控制”复选框。单击“确定”。
8. 打开下面的文件夹:
%systemroot%
9. 在右窗格中右键单击“IIS Temporary Compressed”文件夹,然后单击“共享和安全”。
10. 单击“安全”选项卡,单击“IIS_WPG”组,然后单击以选中“允许”列下的“完全控制”复选框。单击“确定”。
要为 NT Authority\Network Service 帐户设置对这些文件夹的权限,请按照下列步骤操作:
1. 启动 Windows 资源管理器,然后打开以下文件夹:
%systemroot%\Help\iisHelp
2. 在右窗格中右键单击“Common”文件夹,然后单击“共享和安全”。
3. 单击“安全”选项卡,单击“添加”,键入 NETWORK SERVICE,然后单击“确定”。
4. 选中“NETWORK SERVICE”后,单击以选中“允许”列下的以下复选框,然后单击“确定”:
• 读取和执行
• 列出文件夹目录
• 读取
5. 打开下面的文件夹:
%systemroot%\system32\inetsrv
6. 在右窗格中右键单击“ASP Compiled Templates”文件夹,然后单击“共享和安全”。
7. 单击“安全”选项卡,单击“添加”,键入 NETWORK SERVICE,然后单击“确定”。
8. 选中“NETWORK SERVICE”组后,单击以选中“允许”列下的“完全控制”复选框,然后单击“确定”。
9. 打开下面的文件夹:
%systemroot%
10. 在右窗格中右键单击“IIS Temporary Compressed”文件夹,然后单击“共享和安全”。
11. 单击“安全”选项卡,单击“添加”,键入 NETWORK SERVICE,然后单击“确定”。
12. 选中“NETWORK SERVICE”组后,单击以选中“允许”列下的“完全控制”复选框,然后单击“确定”。
完成这些步骤后,从“服务”管理单元或者“计算机管理”管理单元重新启动 IIS 管理服务。