现在的位置: 首页 > 综合 > 正文

win2003x64 iis6.0 Service Unavailable的解决办法

2013年08月09日 ⁄ 综合 ⁄ 共 5824字 ⁄ 字号 评论关闭

问题:win2003x64 iis6.0 Service Unavailable的解决办法

问题环境:
windows server 2003 R2 64位操作系统
iis6.0
在64位iis中安装32位的web应用程序
//------------------------------------------------------------------
cmd中执行下面的代码:
 cscript %SYSTEMDRIVE%\inetpub\adminscripts\adsutil.vbs SET W3SVC/AppPools/Enable32bitAppOnWin64 1

cmd中执行下面的代码:来更改.net Framework版本32位版本
c:/windows/Microsoft.Net/Framework/v4.0.30319  
aspnet_regiis.exe -norestart -s w3svc/1/root/cbjyq

虚拟目录为(cbjyq):w3svc/1/root/cbjyq

//------------------------------------------------------------------
(1)iis Service Unavailable
IIS6.0里所有 网站都是上面的Service Unavailable

程序应用池配置不正确

你到iis上面看到一个应用程序池 
找到 defaultAppPo 
在defaultAppPo 上面单击右键,查看属性 
选择最上面的运行状况 
把 启用快速失败保护 的选项去掉就可以了

_____________________________________________________________________

iis用户密码不同步

1.运行- mmc-添加管理单元-组件服务-计算机-我的电脑- com+ -iis out... -属性 - 标识 - 用户IWAM_YOURPC -密码自己设定

2 DCOM-IIS Admin server 属性 - 安全 -启动和激活 -自定义 -添加 -IWAM_yourpc —权限本地激活启动

3 打开iis管理 - 应用程序池 - 属性 -标识 -用户密码 与之前一致就行了

4 运行cmd-iisreset 重启iis 

如果对您有帮助,请记得采纳为满意答案,谢谢!祝您生活愉快!

注意DCOM配置:
客户端配置如下:
1. 先把服务器在客户端运行,系统会自动注册,然后点”开始”->”运行”,输入”dcomcnfg”,然后回车,启动dcom配置。
2. 常规页面中,双击你的应用服务器,打开你的应用服务器DCOM属性设置。
3. 将常规页面中的身份验证级别改为“无”。
4. 身份标识页面中,选择“交互式用户”。
5. 位置页面中设好你的中间层的的机器。
  进入DCOM的总体默认属性页面,将“在这台计算机上启用分布式COM”打上勾,将默认身份级别改为“无”。

//------------------------------------------------------------------------------------------
解决方案 

给用户NETWORK SERVICE加上访问IIS服务的权限 

开始 - 
控制面板 - 
管理工具 - 
组件服务 - 
计算机 - 
我的电脑 - 
DCOM - 
IIS ADMIN SERVICE - 
属性 - 
安全 - 
启动和激活权限 - 
自定义 - 
添加帐号“NETWORK SERVICE”,
给该帐号赋予“本地启动”和“本地激活”的权限 
- 在cmd下输入“IISRESET”命令(不含引号)重新启动IIS
//------------------------------------------------------------------
上面(1)的问题解决又出现下面(2)的问题:
(2)【IIS问题】解决HTTP500内部服务器错误办法之归纳
今天在查看电脑里的图片时发现了这组图片,是关于解决安装IIS后出现HTTP500内部服务器错误问题的一组捕捉图片,应该说我安装IIS也有好多次了,每次安装完后都要出现这个问题,奇怪的是,虽然是同一个问题,可是解决的方法却各不相同,当时有想写下来的想法,所以去年在操作的时候把过程捕捉下来了,后来不知怎么把这事忘记了,既然今天又把它重新翻出来了,那待我好好想一想把它写下来吧。呵呵~由于时间长了有点忘记当时的操作过程了:
     记得当时想在电脑上浏览自己做的一个小网站,因为电脑重装了系统,以前装好的都没了,所以必须重装IIS(那时装的是5.1版)安装好后先看了几个静态的html网页,显示正常,再浏览网站文件夹里index.asp,打开来的是下面(图1)那个界面,
 

这是友好提示的http错误信息,如果打开IE,选择工具——internet选项——高级——取消"显示http友好错误提示\"的复选框,网页会显示下面的出错提示:
Server Application Error
The server has encountered an error while loading an application during the processing of your request. Please refer to the event log for more detail information. Please contact the server administrator for assistance.
(大致意思是:服务器应用程序错误——该服务器遇到一个错误,同时装载在您的请求处理的申请。请参阅事件日志的详细信息。请联系服务器管理员求助!)
于是我打开事件查看器,查看日志见很多MSDTC服务和设备的错误,错误日志如下(图2)
 

 
根据在网上资料判断是帐户不同步引起的,于是按如下步骤来同步密码:
1)右键单击 我的电脑---->管理---->本地用户和组---->用户
右键单击 启动IIS进程帐号 IWAM_**** (注:****一般是计算机名)点击设置密码,设置为一个你想要的密码。
2)同步IIS 配置数据库密码:
此处命令有二种,一种可以查看密码,一种是修改密码:
a.你可以利用查看密码命令查看 IWAM密码,然后把第一步中用户IWAM密码设置为与 查看到的IIS配置数据库密码 一样
b.也可以利用修改密码命令把IIS配置数据库密码修改为密码。
在获取密码的时候如果显示的结果密码为“******”应当修改Adsutil.vbs文件,修改方法:在c:\inetpub\adminscripts 找到adsutil.vbs (根据装系统时设定的不同,有的路径可能不一样)如下(图3)
 

 
 用记事本打开此文件 查找 IsSecureProperty = True (注意=前后各有一个空格
),将 IsSecureProperty = True 改为 IsSecureProperty = False 保存关闭。 如下(图4)
 

 
然后点击开始---->运行,输入cmd回车 打开命令行工具
先输入 cd c:\inetpub\adminscripts
获取 IWAM 帐户密码命令: cscript.exe adsutil.vbs get w3svc/wamuserpass
获取 IUSR 帐户密码命令: cscript.exe adsutil.vbs get w3svc/anonymoususerpass
输入以上命令,按回车可分别查看IWAM和IUSR的密码。
现在来把密码修改一致:
修改 IWAM 帐户密码 cscript.exe adsutil.vbs set w3svc/wamuserpass "password"
修改 IUSR 帐户密码 cscript.exe adsutil.vbs set w3svc/anonymoususerpass "password" 如下(图5)
 

 
password 设置为你想修改的密码,即与第一步中你设置的用户IWAM _****的相同,按回车即可修改完成。
这里一定要注意:w3svc与wamuserpass之间的杠是/而不是\,否则会出错。
并且还要注意:修改密码前请一定停止所有的Internet信息服务,否则后面可能会出错,并且IWAM帐户可能会被锁定。
如何停止?打开计算机管理,在Internet信息服务上单击右键,选择重新启动IIS服务,在选项中点停止IIS服务,确定即可。
 
3)更改组件服务中的密码
开始--->程序--->附件 打开命令提示符
先输入 cd c:\inetpub\adminscripts
然后输入 cscript.exe synciwam.vbs -v
系统会如下(图6)提示:
然后只要运行了一下iisreset重启IIS就可以了。

 
 
但是我这里最后一步提示8004e00f的错误,此错误是MSDTC服务不正常造成的,解决方法:1、打开控制面板--->管理工具--->组件服务,发现“我的电脑”有向下的红色小箭头,再点击它下面的“com+应用程序”文件夹的时候,提示如下(图7)
 

 
  2、进入事件查看器(图8),打开这4个错误日志来看,发现msdtc服务没有正常启动:
 

 
4个错误日志详情如下:
事件类型: 错误          
事件来源: MSDTC
事件种类: 服务 
事件 ID: 4163
日期:  2009-8-20
事件:  13:24:42
用户:  N/A
计算机: xxxxxxx
描述:
找不到 MS DTC 日志文件。在确认所有由 MS DTC 协调的资源管理器不具有“不确定”状态的事务之后,请运行 msdtc -resetlog 创建日志文件。
有关更多信息,请参阅在 http://go.microsoft.com/fwlink/events.asp 的帮助和支持中心。

事件类型: 错误
事件来源: MSDTC
事件种类: 磁盘 
事件 ID: 4185
日期:  2009-8-20
事件:  13:24:42
用户:  N/A
计算机: xxxxxxx
描述:
MS DTC 事务管理器启动失败。LogInit 返回错误 0x2。
有关更多信息,请参阅在 http://go.microsoft.com/fwlink/events.asp 的帮助和支持中心。

事件类型: 错误
事件来源: MSDTC
事件种类: 设备 
事件 ID: 4112
日期:  2009-8-20
事件:  13:24:42
用户:  N/A
计算机: xxxxxxx
描述:
无法启动 MS DTC 事务管理器。
有关更多信息,请参阅在 http://go.microsoft.com/fwlink/events.asp 的帮助和支持中心。

事件类型: 错误
事件来源: COM+
事件种类: (98)
事件 ID: 4691
日期:  2009-8-20
事件:  13:24:42
用户:  N/A
计算机: xxxxxxx
描述:
运行时环境无法初始化支持事务处理组件所需的事务。请确认 MS-DTC 正在运行。(DtcGetTransactionManagerEx(): hr = 0x8004d01b)
有关更多信息,请参阅在 http://go.microsoft.com/fwlink/events.asp 的帮助和支持中心。

 
  3、删除注册表中的键:点击开始---->运行---->输入regedit后确定打开注册表编辑器删除下面三个键,路径如下
  · HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSDTC  (图9)
 

 
  · HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC (图10)
 

 
  · HKEY_CLASSES_ROOT\CID (图11)
 

 
  4、停止MSDTC服务:net stop msdtc
  5、卸载MSDTC服务:msdtc -uninstall
  6、重新安装MSDTC服务:msdtc -install (图12)
  
 
         7、确认在事件查看器中msdtc服务已经正常启动,这步很关键,如果没有,重新启动下电脑看看,现在进入组件服务,“我的电脑”上的红色小箭头没有了,可以打开“com+应用程序”只是打开后没有看到以下的三个组件:
IIS In-Process Applications (IIS 进程内应用程序)
IIS Out-of-Process Pooled Applications (IIS 进程外应用程序)
IIS Utilities (IIS 实用工具)(图13)
 

 
这是服务器系统中的ASP相关组件(com+组件)出现了问题,我有几次安装IIS后发现问题查到这里看到是一个或二个,没有完整的三个,既然是不全的,那必须删除这剩余的组件,有时会删除不掉,那需要先将属性里的高级中“禁止删除”的勾选取消后再来删除。删除后再打开命令提示符输入:
“cd %windir%\system32\inetsrv”字符串命令,单击回车键后,再执行
“rundll32 wamreg.dll,CreateIISPackage”命令,接着再依次执行
“regsvr32 asptxn.dll”命令,最后输入
“iisreset”命令,重新启动一下计算机操作系统后就可看到完整的com+组件了(图14)
 

 
这也就说明IIS服务器能正确响应ASP脚本,这时再打开管理---->服务和应用程序---->默认网站下打开ASP页面会发现可以正常访问了。
安装过好多次IIS,发现操作步骤就是上面这几个,不过不一定要按上面的顺序来,只要能把这几个步骤都做一遍了,基本上也就能正常浏览ASP页面。(在网上看到关于HTTP 500 内部服务器错误的资料很多很杂,看得人头昏眼花的还没明白个所以然,所以我把它归纳出来希望对大家有所帮助)。

上面(2)的问题解决又出现下面(3)的问题:
//------------------------------------------------------------------
(3) HTTP 错误 401.1 - 未经授权:访问由于凭据无效被拒绝。的解决办法:
下面的方法网上查询的:
你是不是用IIS打开ASP网页文件一直提示IIS账户名和密码?权限也分配的好好的,就是提示未授权?
我刚刚才解决的,教你一个最LJ的方法,
就是在IIS中右击网站目录属性,目录安全性,编辑,
把启用匿名访问关了再访问一个ASP文件,这时肯定是打不开的.没关系,
再启用匿名访问,不要在浏览中查找用户名,自己手工输入,
这样前面不带计算机名,再输入两次密码,确定,就能访问了,
这应该相当于假死吧!我也是没找到答案,自己摸出来的!

---the--end---

抱歉!评论已关闭.