IIS不能运行ASP解决办法

 时间:2024-10-17 08:28:37

问题的出现多是IIS擢爻充种的相关设置出问题。

问题的解决可能由三种方法解决:

吭稿荔徊1,重新安装IIS。如果重新安装IIS都不行,要重新安装WINDOWS2000。

2,对iwam_myserver账号进行更改。

3,使用NetBox软件代替目前的IIS程序,暂时调试ASP先。

建议:

不建议第1种方法。可以试下第2种方法(见下面详细说明);推荐第3种方法,见下面详细说明(请不要在服务器中试用)。

方法简介:

重新安装IIS或者重新安装WINDOW2000的方法就不多说了。

(1)方法之一:对iwam_myserver账号进行更改的说明帮助(其实就是IIS中的500报错问题):

----------------------------------------------------------------------------------------------------------------------

IIS500内部错误解决方法

错误表现:

这个错误发生时总会有三方面的表现:一是IE中的最直接的表现,也是最让人看不懂的表现;二是安全日志中的表现,IWAM_Machine账号登录失败;三是系统日志中的表现,IISOut-Of-ProcessPooledApplications应用程序因启动账号的错误而不能够启动.从而造成ASP页面浏览错误.

(一)IE中的表现

当浏览以前能够正常运行的asp页面时会出现如下的错误:

(1)

网页无法显示

您要访问的网页存在问题,因此无法显示。

---------------------------------------------

请尝试下列操作:

打开http://127.0.0.1主页,寻找指向所需信息的链接。

单击刷新按钮,或者以后重试。

HTTP500-内部服务器错误

Internet信息服务

--------------------------------------------------------------------------------

技术信息(支持个人)

详细信息:

[注意,这儿只是500错误,不是500.xx等错误的,那些错误主要是asp编程问题,与iis没有太大的关系,只有500错误是由iis自身造成的]

(2)

ServerApplicationError

Theserverhasencounteredanerrorwhileloadinganapplicationduringtheprocessingofyourrequest.Pleaserefertotheeventlogformoredetailinformation.Pleasecontacttheserveradministratorforassistance.

在注册表中的表现

提示:sam文件里的IWAM_user不存在

网络上的解决方案如下:

知道了导致http500内部错误的原因,解决起来就比较简单了,那就是人工同步iwam账号在activedirectory、iis

metabase数据库和com+应用程序中的密码。

具体操作分三步,均需要以管理员身份登录计算机以提供足够的操作权限(iwam账号以iwam_myserver为例)。

(一)更改activedirectory中iwam_myserver账号的密码

因iwam账号的密码由系统控制,随机产生,我们并不知道是什么,为完成下面两步的密码同步工作,我们必须将iwam账号的密码设置为一个我们知道的值。

选择“开始”->“程序”->“管理工具”->activedirectory用户和计算机,启动“active

directory用户和计算机”管理单元。

单击“user”,选中右面的“iwam_myserver”,右击选择“重设密码(t)...”,在跳出的重设密码对方框中给iwam_myserver设置新的密码,这儿我们设置成“aboutnt2001”(没有引号的),确定,等待密码修改成功。

(二)同步iismetabase中iwam_myserver账号的密码

可能因为这项改动太敏感和重要,微软并没有为我们修改iis

metabase中iwam_myserver账号密码提供一个显式的用户接口,只随iis5提供了一个管理脚本adsutil.vbs,这个脚本位于c:\inetpub\adminscripts子目录下(位置可能会因你安装iis5时设置的不同而有所变动)。

adsutil.vbs脚本功能强大,参数非常多且用法复杂,这里只提供使用这个脚本修改iwam_myserver账号密码的方法:

adsutilsetw3svc/wamuserpasspassword

password参数就是要设置的iwam账号的新的密码。因此我们将iis

metabase中iwam_myserver账号的密码修改为“aboutnt2001”的命令就是:

c:\inetpub\adminscripts\adsutilsetw3svc/wamuserpassaboutnt2001

修改成功后,系统会有如下提示:

wamuserpass:(string)aboutnt2001

(三)同步com+应用程序所用的iwam_myserver的密码

同步com+应用程序所用的iwam_myserver的密码,我们有两种方式可以选择:一种是使用组件服务mmc管理单元,另一种是使用iwam账号同步脚本synciwam.vbs。

使用组件服务mmc管理单元

(1)启动组件服务管理单元:选择“开始”->“运行”->“mmc”,启动管理控制台,打开“添加/删除管理单元”对话框,将“组件服务”管理单元添加上。

(2)找到“组件服务”->“计算机”->“我的电脑”->“com+应用程序”->“out-of-processpooled

applications”,右击“out-of-processpooledapplications”->“属性”。

(3)切换到“out-of-processpooled

applications”属性对话框的“标志”选项卡。“此应用程序在下列账户下运行”选择中“此用户”会被选中,用户名是“iwam_myserver”。这些都是缺省的,不必改动。在下面的“密码”和“确认密码”文本框内输入正确的密码“aboutnt2001”,确定退出。

(4)系统如果提示“应用程序被一个以上的外部产品创建。你确定要被这些产品支持吗?”时确定即可。

(5)如果我们在iis中将其它一些web的“应用程序保护”设置为“高(独立的)”,那么这个web所使用的com+应用程序的iwam账号密码也需要同步。重复(1)-(4)步,同步其它相应out

ofprocessapplication的iwam账号密码。

使用iwam账号同步脚本synciwam.vbs

实际上微软已经发现iwam账号在密码同步方面存在问题,因此在iis5的管理脚本中单独为iwam账号密码同步编写了一个脚本synciwam.vbs,这个脚本位于c:\inetpub\adminscripts子目录下(位置可能会因你安装iis5时设置的不同而有所变动)。

synciwam.vbs脚本用法比较简单:

cscriptsynciwam.vbs[-v|-h]

“-v”参数表示详细显示脚本执行的整个过程(建议使用),“-h”参数用于显示简单的帮助信息。

我们要同步iwam_myserver账号在com+应用程序中的密码,只需要执行“cscriptsynciwam.vbs

-v”即可,如下:

cscriptc:\inetpub\adminscripts\synciwam.vbs-v

microsoft(r)windowsscripthostversion5.6

版权所有(c)microsoftcorporation1996-2000。保留所有权利。

wamusername:iwam_myserver

wamuserpass:aboutnt2001

iisapplicationsdefined:

name,appisolated,packageid

w3svc,0,3d14228c-fbe1-11d0-995d-00c04fd919c1}

root,2,

iishelp,2,

iisadmin,2,

iissamples,2,

msadc,2,

root,2,

iisadmin,2,

iishelp,2,

root,2,

root,2,

outofprocessapplicationsdefined:

count:1

3d14228d-fbe1-11d0-995d-00c04fd919c1}

updatingapplications:

name:iisout-of-processpooledapplicationskey:

3d14228d-fbe1-11d0-995d-00c04fd919c1}

从上面脚本的执行情况可以看出,使用synciwam.vbs脚本要比使用组件服务的方法更全面和快捷。它首先从iis的metabase数据库找到iwam账号iwam_myserver并取出对应的密码“aboutnt2001”,然后查找所有已定义的iis

applications和outofprocessapplications,并逐一同步每一个outofprocess

applications应用程序的iwam账号密码。

使用synciwam.vbs脚本时,要注意一个问题,那就是在你运行synciwam.vbs之前,必须保证iis

metabase数据库与activedirectory中的iwam密码已经一致。因为synciwam.vbs脚本是从iis

metabase数据库而不是从activedirectory取得iwam账号的密码,如果iis

metabase中的密码不正确,那synciwam.vbs取得的密码也会不正确,同步操作执行到“updating

applications”系统就会报80110414错误,即“找不到应用程序

3d14228d-fbe1-11d0-995d-00c04fd919c1}”。

好了,到现在为止,iwam账号在activedirectory、iis

metabase数据库和com+应用程序三处的密码已经同步成功,你的asp程序又可以运行了!

修改成功后,系统会有如下提示:

---------------------------------------------------

经过测试,显示应该是

wamuserpass:(string)*******

正确方法:第一,下载IIS5.0安装包,SP4,

第二,备份IIS,卸载掉IIS,然后安装IIS,还原IIS备份,一切OK

(2)方法之二:使用netbox软件:

附netbox软件简介(仅作参考,你可以不管它。)

NetBoxAspWeb服务器是一个简单的服务器程序,功能和windows的IIS几乎一些,如果您的机器无法安装或不支持iis,可以安装这个程序来调试远行.asp文件。

程序几乎含有IIS全部功能(默认为vbscript语页的文件,用上<SCRIPTLANGUAGE="javascript"runat="server">就不支持),但也有IIS没有的功能。

使用NetBox可以方便的将asp应用编译成为独立运行的执行程序,完全摆脱iis的束缚,在几乎所有的Windows版本上面直接运行,完全不需要考虑平台兼容性和对asp运行环境的要求。下面就是快速移植已有的asp应用的步骤。

创建asp运行环境

首先创建一个空的目录,在你喜欢的位置,假设是d:\websvr。在目录中创建一个文件:main.box,编辑其内容为:

Dimhttpd

Shell.Service.RunService"NBWeb","NetBoxWebServer","NetBoxHttpServerSample"

'----------------------ServiceEvent---------------------

SubOnServiceStart()

Sethttpd=CreateObject("NetBox.HttpServer")

Ifhttpd.Create("",80)=0Then

Sethost=httpd.AddHost("","\wwwroot")

host.EnableScript=true

host.AddDefault"default.asp"

host.AddDefault"default.htm"

httpd.Start

else

Shell.Quit0

endif

EndSub

SubOnServiceStop()

httpd.Close

EndSub

SubOnServicePause()

httpd.Stop

EndSub

SubOnServiceResume()

httpd.Start

EndSub

复制asp应用

在目录中再创建一个子目录:wwwroot,将你在iis中的文件全部复制到wwwroot中。此时,你的asp运行环境应该已经准备好了。

测试运行

为了运行你刚才新建的netbox应用,你必须确认你的iis或者其他占用80端口的程序已经停止,较大的可能是你的iis在使用这个端口,所以最好停止你的iis,或者将iis的使用端口更换为其他端口。

在确保iis已经停止后,你便可以执行你的netbox应用了。双击main.box文件,很快,你将在窗口右下角看见netbox的图标。此时,netbox已经正常运行了。你需要做的是使用ie访问http://localhost测试你的asp应用是否也已经正常运行。一般情况下此时asp也已经完全正常运行了。

编译

编译的过程是简单的,执行nbdw.exe。

点SelectFolder,找到刚才我们建立的目录d:\websvr,点Browser,设定要生成的执行文件名,点Build...,开始编译。

最后,我们得到了编译成功的那个执行文件,这个就是我们的最后目标。

因为这个例程是以服务方式创建的Web服务器,所以你可以使用:

myapp-install

将应用安装成为服务,这样,系统无须登录便可以自动运行应用了。如果需要卸载服务,则可以执行下面的命令:

myapp-remove

IIS无法验证对路径…………的访问【解决方法】 jquer如何在输入结束时触发事件 易语言窗口界面如何添加Excel程序 win7下开启FTP服务 怎么用vbs换壁纸
热门搜索
小兴安岭图片 海产品图片 柳菁菁人体艺术图片 众泰t700图片 图片背景怎么换