热点问题
访问站点时出现server application error错误处理方法
文章来源:51网络科技 点击数: 更新时间:2015/3/24 21:58:02
购买国内免备案空间 | 购买香港空间【不限iis】 | 宽屏网站制作【还送手机网站】 |
香港云主机/99元/月 | 国内空间【免费备案】 | 特价网站空间 |
.Net专用空间 | 网站快速排名 | 游戏空间【支持月付】 |
访问站点时出现server application error错误,详细信息是:
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.
失望的时用事件查看器看出错日志时,居然只能看到标题,查看详细信息时弹不出显示信息的对话框,后来发现不要先查看应用程序日志,就可以查看系统日志,否则都看不了。于是开始搜索解决办法。找到好几种办法,最多的是说IWAM账号的密码不同步所致,于是开始同步,方法如下:
IWAM账户密码存在三个地方:本地用户中的IWAM用户、IIS内置数据库、组件服务中的IIS组件
更改方法:
1、停止IIS服务
2、修改本地用户中的用户:IWAM_机器名和IUSER_机器名(个人认为不需要修改IUSER_机器名用户的密码,微软相关资料也只提到修改IWAM)的密码。很简单,不用说了。
3、修改IIS内置数据库中的密码,稍为麻烦,但是也很容易
运行CMD
进入脚本目录: cd C:\inetpub\adminscripts
获取 IWAM 帐户密码命令: cscript.exe adsutil.vbs get w3svc/wamuserpass
获取 IUSR 帐户密码命令: cscript.exe adsutil.vbs get w3svc/anonymoususerpass
输入以上命令,按回车可分别查看IWAM和IUSR的密码。
这里注意:在WIN2000中,查看到的密码为星号,若要不为星号,必须要先修改adsutil.vbs文件。
修改方法:
a.到c盘 inetpub\adminscripts 找到adsutil.vbs (根据装系统时设定的不同,有的路径可能不一样)
b.右键单击,用记事本打开
c.查找 IsSecureProperty = True 注意=前后各有一个空格
d.将 IsSecureProperty = True 改为 IsSecureProperty = False
e.保存,关闭,OK。
修改密码命令:
修改 IWAM 帐户密码 cscript.exe adsutil.vbs set w3svc/wamuserpass "这里输入在本地用户中修改的密码"
修改 IUSR 帐户密码 cscript.exe adsutil.vbs set w3svc/anonymoususerpass "这里输入在本地用户中修改的密码"
4、同步组件密码
同样在CMD中输入:cscript.exe synciwam.vbs -v
5、重启IIS,运行iisreset
做到这,本以后问题解决,谁知故障依旧,又做了几遍,仍是如此。想到能不能重装IIS,于是在添加删除程序里卸载掉IIS,再重新安装IIS,谁知故障仍然很顽固,没办法,应该是其他原因,如果不是密码问题,那就是权限问题,继续寻找答案。
检查IUSER和IWAM两个账号,发现重装IIS后,这两个账号居然不属于任何组了,于是加进它们本该属于的GUESTS组,再次重启IIS,还是同样错误,我无语了,真有甩手不干,但是不干靠啥子养老婆呢,只好继续。
继续查找资料......
有说重新注册两个脚本DLL
regsvr32 jscript.dll
regsvr32 vbscript.dll
照做,重启IIS,仍无效
有说检查DTC服务(全名:Distributed Transaction Coordinator)是否可以正常启动,如果正常的话请你跳过此步骤;如果出错,无法正常启动,请在开始菜单的运行中 运行:msdtc -resetlog 以创建日志文件。重起机器,检查IIS是否可以正常使用,若不行继续。在CMD下执行以下命令:
cd %windir%\system32\inetsrv
rundll32 wamreg.dll, CreateIISPackage
regsvr32 asptxn.dll
仍旧照做,仍无效,唉,这匹死马难道硬是医不活了吗???
部分使用者在修复 IIS 500 问题时.
regsvr32 asptxn.dll 失败 错误代码:0x8004e00f
在CMD下執行以下命令:
cd %windir%\system32\inetsrv
rundll32 wamreg.dll, CreateIISPackage
regsvr32 asptxn.dll
但部分使用者在进行 regsvr32 asptxn.dll 会产生错误代码 0x8004e00f
其原因是系统中并未安裝 MSDTC
安裝方法如下:
msdtc -install
msdtc -resetlog
这时候又想到了日志,干脆清空日志,把日志大小扩到1M,再访问站点,这时日志正常了,打开检查,最多的是“...没有在限定的时间内用 DCOM 注册”,ID号3D14228D-FBE1-11D0-995D-00C04FD919C1,
而“组件服务”->“计算机”->“我的电脑”->“COM+应用程序”中,有一个IIS Out-Of-Process Pooled Applications该应用程序的ID号即为{3D14228D-FBE1-11D0-995D-00C04FD919C1},很多系统报错找不到应用程序{3D14228D-FBE1-11D0-995D-00 C04FD919C1}之类的错误,就是因为该应用程序未能启动。打开该应用程序的属性,检查标识为IWAM用户,看来是与IWAM的权限有关,但是还有什么权限呢?有资料说把IIS运行的账号改成管理员就OK了,于是测试:
“组件服务”->“计算机”->“我的电脑”->“COM+应用程序”中,有一个“IIS Out-Of-Process Pooled”鼠标右键“属性”--“标识”--把“此用户”调整为“交互式用户--目前已登录的用户”。然后“确定”,再重启IIS!
访问站点,ASP文件又能正常解析了,站点又正常了,我的神啊!!!痛哭!!!
但是,用管理账号运行IIS,可能会出现安全隐患,谁知道呢?再得努力,继续查找资料,翻了N久,又找到新的办法,有人提到除了保证IWAM用户只在GUEST组内外,还要在“本地用户和组”->“组”里面,右键点击Users组属性,添加进NT AUTHORITY\Authenticated Users和NT AUTHORITY\Interactive两个用户成员,我于是添加进去,再把IIS Out-Of-Process Pooled组件的运行用户改回IWAM,这时还要输入IWAM用户的密码哦,如果查看它的密码就不再重复了。
做了这一步,重启IIS,访问站点,
总结:
注意IWAM的权限问题
日志是否有问题(有资料说日志也会引志IIS异常,而这次我也是处理过日志的哦)
IWAM密码有时会不同步
JS和VBS重新注册DLL
检查DTS服务
Server Application Error解决
在浏览器中:
HTTP 500 - Internal Server Error
- 或 -
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.
在系统事件日志中:
Source:DCOM
Error:DCOM got error "Logon Failure:unknown username or bad password" Unable to logon
.\IWAM_SERVERNAME in order to run the server.
- 和 -
Source:W3SVC
Error:"The server failed to load application '/LM/W3SVC/1/Root/op.'The error was 'The server
process could not be started because the configured identity is incorrect.Check the username
and password.
- 或 -
Source:W3SVC Error:"The server failed to load application '/LM/W3SVC/4/Root'.The error was
'c000003b'."
- 和 -
Source:W3SVC Error:"The COM Application '{3D14228D-FBE1-11d0-995D-00C04FD919C1}' at
'/LM/W3SVC/4/Root' failed to activate out of process."
比较简单的解决办法:
在计算机用户管理中删除启动iis及来宾账号,重装一次IIS即可
按我的方法,前提是一,系统是XP,其它系统不敢包.二,你没有做过其它设置.
主要是帐户权限问题.
打开“管理工具”->“组件服务”->“计算机”->“我的电脑”->“COM+应用程序”,(看A) 然后在右边框中,右击“IIS Out-Of-Process Pooled Applications”,(看B)选择属性,点“标识”选项卡,选择“系统帐户”,然后确定,在“服务”(不是刚才那个,打开管理工具-服务)中重启IIS即可。
A.如打开“COM+应用程序”时出现错误,错误代码:“8004E00F-COM+无法与Microsoft分布式事务协调程序 ”
解决办法:在"开始"-“运行“窗口中输入,msdtc -resetlog (注意-前面有一空格)即可。
B.在“COM+应用程序”右框的组件中“IIS Out-Of-Process Pooled Applications”找不到解决办法:
开始菜单->运行->cmd打开命令提示窗口。
输入cd %windir%/system32/inetsrv切换到了system32下inetsrv目录。
再输入rundll32 wamreg.dll, CreateIISPackage。
注意:必须准确键入“CreateIISPackage”,它区分大小写。
再输入regsvr32 asptxn.dll。
关闭"组件服务"并重新打开"组件服务"。
重启IIS:"管理工具"-"服务"找到IIS Admin右击选择"重新启动".
最后打开“管理工具”->“internet信息服务”找到“默认网站”然后右击它,
选择属性,在“TCP地址”处选择本机的IP地址。再打开“目录安全性”->“编辑
”弹出“身份验证方法对话框”
这里比较麻烦点。下面说起来有点难,如果上面都对,那100%是下面的问题,如
果这里设置不到,打开网页时,将弹出一个对话框确认后出现“未登陆,无权访
问”,又或者显示那一行出现错误等。
点击“浏览”->“高级”->“立即查找”在下框选择一个能用的用户(如当前用户
),然后确定。
在“匿名访问”处打勾,“允许IIS控制密码”不打勾,密码(你刚才选择的用户
的密码,无密码为空,确定密码也为空)。"基本....."不打勾,"集成....."处打
勾。然后在刚才“匿名访问”处打过勾的现在又不打勾了。
确定后,先按“应用”会出现一条信息“localstart.asp”(其它文件不要选),
用鼠标“点击选择它”(记住,其实就是这里没有选择),再确定。
从新进入刚才的“身份验证方法对话框”,在“匿名访问”处重新打勾再“应用
”,如出现之前我说的那条信息再点击选择它,再确定,即可完成了
在Windows Server 2003中默认情况下是没有启动父路径的,所以当我们在ASP程序中引用包含文件时用到“..”,就会出现错误提示:“Active Server Pages 错误 'ASP 0131'解决方法”。其实我们只要启用父路径即可,这是 Windows Server 2003 IIS中的基本配置,请大家要牢记,不然很多ASP站点都将无法运行哦。
国内、香港、美国、全免备案www.51mianbeian.com--51网络科技,专业免备案空间提供商!
相关文章