我爱学习网首页 | 设为首页 | 收藏本站 | 网站地图 您好,欢迎光临我爱学习网
我爱学习网

当前位置:首页 > 编程开发 > 源码环境 >

http 500内部服务器错误如何解决

时间:2014-05-08 22:52 来源:未知 | 作者:我爱学习网 | 本文已影响
在建设网站过程中,服务器环境配置是少不了的过程,因为技术有限,遇到程序运行打不开的问题也是常有的事,特别是IIS服务器中,如http 500内部服务器错误。当然,网页打不开也并不完全是服务器的原因,有时候可能是程序出现错误造成的。

本文将介绍iis服务器http500内部服务器错误的解决办法,希望对您有所帮助。
IIS安装完成后,运行出现“HTTP 500 - 内部服务器错误”的解决办法很简单,只要三步操作就可以轻松解决http500内部服务器错误的问题。

1. 先删除IIS,运行:regsvr32 %windir%/system32/vbscript.dll (其实这一步也可以省,确保万一,还是执行吧)

2. 运行:msdtc -resetlog

3. 重新安装IIS

注释:

1. 微软只随IIS5提供了一个管理脚本adsutil.vbs,这个脚本位于C:\inetpub\adminscripts子目录下,首先注册vbscript.dll。

2. msdtc.exe是微软分布式传输协调程序。该进程调用系统Microsoft Personal Web Server和Microsoft SQL Server,该服务用于管理多个服务器,必须确保该服务正常启动。

(1)控制面板->管理工具->组件服务

(2)找到“组件服务”->“计算机”->“我的电脑”->“COM+应用程序”->“IIS Out-Of-Process Pooled Applications”

http500内部服务器错误如何解决

3. 如果找不到“IIS Out-Of-Process Pooled Applications”,或在点击不能打开“COM+应用程序”,执行完“msdtc -resetlog”后,重新安装IIS即可。

  其实还有个更简单的方法就是把系统安装光盘里面的I386文件用U盘拷出来,再用U盘安装IIS就什么问题也没有了,简单的配置一下就可以运行ASP.NET了!!

  补充:

  重新安装IIS,com+组件中还是没有没有out-of-process pooled applications

  开始菜单->运行->cmd打开命令提示窗口

  输入cd %windir%/system32/inetsrv切换到system32下inetsrv目录

  输入rundll32 wamreg.dll, CreateIISPackage

  注意:必须准确键入"CreateIISPackage"它区分大小写

  输入regsvr32 asptxn.dll

  关闭并重新打开"组件服务",问题解决。

  简洁流程:在IIS中 属性->主目录->配置->选项中。把”启用父路径“前面打上勾。


如果上述方法还不能解决http 500内部服务器错误,可参考以下解决办法:

http 500内部服务器错误如何解决

http 500内部服务器错误如何解决?首先你要先装好IIS,XP SP2中的应该是5.1版本的,安装方法:

1->打开控制面板,选择添加删除程序
2->选择添加删除组件,选择Internet信息服务,也就是IIS
3->点击下一步安装就好了

安装好之后也许你的机子会正常的显示http://localhost/的页面,但很遗憾我的无法正常显示,而且是显示HTTP 500 内部服务器错误,当然我相信肯定有很多人遇到这种情况,搜索一下就知道有多少了。

解决方法:

首先我们要在Internet Explore中选择工具->Internet选项->高级->显示友好的HTTP错误信息,把这一项前面的对钩取消。
这样刷新一下http://localhost/这个页面就会显示出详细的出错信息,有可能会有其他原因,现在只说我遇到的,也是大多数人遇到的错误原因,也就是下面的错误:
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.
至于出错的具体原因,在这里就不多说了,我们只谈论解决的办法,如果你有兴趣去弄明白其原因,你可以参阅网上的其他资料。

解决方案:

1->右击我的电脑->管理->本地用户和组->用户,给IUSR_机器名和IWAM_机器名两个用户设置密码,要一样
2->开始->运行->输入cmd进入控制台
3->在控制台下输入cd c:\Inetpub\AdminScripts
4->输入cscript.exe adsutil.vbs set w3svc/wamuserpass 你的密码
5->输入cscript.exe adsutil.vbs set w3svc/anonymoususerpass 你的密码

注意这时候控制台不要关闭

刷新http://localhost/如果正常显示出两个页面,说明正常,下面的就可以不去做,如果不行就请继续
6->继续在控制台下输入cscript.exe synciwam.vbs -v
7->如果这时候出现8004e00f错误的话跳过步骤8,直接执行步骤9
8->输入iisreset,重启IIS,刷新http://localhost/,正常
9->开始->运行->输入dcomcnfg->进入组件服务->点击右边的组件服务->计算机->我的电脑->COM+应用程序
报错"COM+ 无法与 Microsoft 分布式事务协调程序交谈",无法查看里面的对象
10->进入事件查看器,发现msdtc服务没有正常启动。
11->开始->运行->输入regedit进入注册表(下面删除的几项最好先导出一下)
12->找到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSDTC删除
13->找到HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC删除
14->找到HKEY_CLASSES_ROOT\CID删除
15->在控制台下继续输入net stop msdtc停止MSDTC服务
16->输入msdtc -uninstall卸载MSDTC服务
17->输入msdtc -install重新安装MSDTC服务
18->确认在事件查看器中msdtc服务已经正常启动
19->如果没有正常工作,请重新执行第17步骤,多执行几次,这样我们可以看到COM+应用程序可以访问,如果不能重启电脑看下,IIS也应该能正常工作,刷新http://localhost/,刷新页面看下是否成功,如果还是不成功的话,就把IIS重新安装一下。
20->问题解决。

还解决不了 http 500内部服务器错误?

其实服务器内部500错误大概可分为两种,一种是服务器本身权限问题,另一种是程序上不规范或者错误造成。所以要解决此问题需要先弄清楚其到底是哪种原因,那该如何检测是那种原因呢?请往下看:

  在IE浏览器下点击 工具-internet选项-高级,滚动条拉到最后,将“显示友好HTTP错误信息”前的勾去掉,确定,这时刷新“500内部服务器错误”页面,或者重新启动该页面,页面便会弹出新的报错项目,这是网页报错的信息便会告诉你是原因导致此错误发生。

  http 500内部服务器错误如何解决

显示友好 http 错误信息


  当然这时,很多站长会发现即使显示出错误类型了,还是不知道怎么解决,最简单方法就是你吧新的错误类型再次复制到到百度里进行提问查询,便知道如何解决了。对于程序问题,在这里实在不好说是怎么解决,因为程序错误类型很多,根本不知道各位站长会遇到怎样的错误,如果查出来是权限问题,那么好解决,往下看:

  程序在本地情况下:点击进入到源程序的根目录文件夹,点击最上面的 工具-文件夹选项-查看,将“使用简单文件共享(推荐)”前面的勾去掉,确定。这时要对你要设置权限的文件或者文件夹进行更改权限,选中文件或文件夹右击,属性-安全-添加-高级-立即查找,在下面的一组用户中选择IWAM_(你的计算机名)和IUSR_(你的计算机名),确定,返回“安全”界面,将IWAM_(你的计算机名)(为进程账户)权限设置为完全控制,IUSR_(你的计算机名)(来宾账户)设置成读取权限。

  
文件夹选项

站点目录属性

服务器权限

用户权限

选择用户

服务器安全


  如果你要是觉得很烦,最简单就是选中整个存放程序的文件夹,注意是存放程序的文件夹,进行右击重复以上步骤,当选择权限时,直接选择 Everyone确定后将权限设置成完全控制即可,如果你的程序是在服务器上出现权限问题需要跟精简服务商联系了! (责任编辑:我爱学习网)


分享到: 更多