开发者社区> 科技小能手> 正文

【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 内部服务器错误的资料很多很杂,看得人头昏眼花的还没明白个所以然,所以我把它归纳出来希望对大家有所帮助)。
 


本文转自 彐火王木木 51CTO博客,原文链接:http://blog.51cto.com/linger/310376

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
IIS上部署MVC网站,打开后ExtensionlessUrlHandler-Integrated-4.0解决办法
处理程序“ExtensionlessUrlHandler-Integrated-4.0”在其模块列表中有一个错误模块“ManagedPipelineHandler” IIS上部署MVC网站,打开后ExtensionlessUrlHandler-Integrated-4.
1410 0
使用AppFabric 承载WCF和WF服务【注意点和问题的解决方法】
前面几个文章  http://www.cnblogs.com/2018/category/263041.html 接了Appfabric的概要和分析,实际使用中还有一些注意的问题,总结一下。 数据库访问 由于IIS应用池的账户【默认BUILTIN\IIS_IUSRS】设置不同,因此数据库需要对这...
792 0
MVC 部署在IIS7 出现的 404 错误
如果你不幸在 windows server 2008 R2 的 IIS7 中部署 MVC 站点的话,如果你输入:http://yourdomain/Organization/Index ,那么你很有可能会碰到: 404 恭喜你,中标了。
693 0
解决办法:本机远程连接服务器时出现身份验证错误,要求函数不受支持!
在用户名、IP、密码都对的情况下别的电脑能连接上,只有自己的电脑连接不上说函数不受支持 具体解决办法 windows专业版以上: 打开组策略编辑器 选择:计算机配置——管理模板——系统——凭据分配 双击“加密Orac...
2035 0
张尧学院士:云计算仍未根本解决服务共享问题
本文讲的是张尧学院士:云计算仍未根本解决服务共享问题,中国工程院院士、教育部高等教育司司长、清华大学教授张尧学在由谷歌主办的“云计算时代的合作与创新”学术论坛上表示,云计算仍未根本解决服务共享问题
1055 0
ubuntu系统中添加DNS服务器地址后诡异消失的解决办法
ubuntu系统中添加DNS服务器地址后诡异消失的解决办法
47 0
阿里云服务器被挖矿minerd***的解决办法
今天老大手机报警 我检查发现阿里云服务器CPU很高,执行 top 一看,有个进程minerd尽然占用了90%多的CPU, 赶紧百度一下,查到几篇文章都有人遇到同样问题 Hu_Wen遇到的和我最相似,下边是他的解决办法 http://blog.csdn.net/hu_wen/article/details/51908597 但我去查看启动的服务,尽然没有 lady 这个服务。
3354 0
23704
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
JS零基础入门教程(上册)
立即下载
性能优化方法论
立即下载
手把手学习日志服务SLS,云启实验室实战指南
立即下载