Win2003X64位,IIS6.0 32位 浏览报错的解决方案

目录

问题案例

原因分析

解决问题

其他

问题案例

 

1)服务浏览出现: service unavailable
2)服务浏览出现:HTTP 404 当前页找不到
3)在事件查看器:应用程序中报错:在同一 IIS 进程中不可能运行两个不同的 ASP.NET 版本……
4)服务浏览出现:当前服务不可用
5)【网站】带有红色标记,【网站】停止并无法启动。
6)服务浏览出现:%1不是有效的Win32程序

 

原因分析

目前大多数的服务器搭建的2003X64的系统+IIS6.0,但是大多数部署在IIS的程序又是32位的。

 

解决问题

我这里对几个关键点稍作总结。

a) 运行以下脚本,卸载掉IIS的 X64的.Net FrameWork 并重新注册为 x86 的.Net FrameWork, 

 1 @echo
 2 ::切换到64
 3 cscript.exe %SYSTEMDRIVE%\inetpub\adminscripts\adsutil.vbs SET W3SVC/AppPools/Enable32bitAppOnWin64 0
 4 ::卸载64的2.0
 5 cd /d C:\Windows\Microsoft.NET\Framework64\v2.0.50727
 6 aspnet_regiis.exe -u
 7 ::卸载64的4.0
 8 cd /d C:\Windows\Microsoft.NET\Framework64\v4.0.30319
 9 aspnet_regiis.exe -u
10 ::卸载64的WCF
11 cd /d "C:\Windows\Microsoft.NET\Framework64\v3.0\Windows Communication Foundation"
12 ServiceModelReg.exe -u
13 
14 ::切换到32
15 cscript.exe %SYSTEMDRIVE%\inetpub\adminscripts\adsutil.vbs SET W3SVC/AppPools/Enable32bitAppOnWin64 1
16 ::安装32的2.0
17 cd /d C:\Windows\Microsoft.NET\Framework\v2.0.50727
18 aspnet_regiis.exe -i
19 ::安装32的4.0
20 cd /d C:\Windows\Microsoft.NET\Framework\v4.0.30319
21 aspnet_regiis.exe -i
22 ::安装32的WCF
23 cd /d "C:\Windows\Microsoft.NET\Framework\v3.0\Windows Communication Foundation"
24 ServiceModelReg.exe -i
25 pause

b)查看IIS中 Web服务扩展 中 被禁止项目,设置为允许

c) 刷新IIS,查看【应用程序池】选项是否存在。如果不存在,在【网站】右键【属性】-【服务】选项卡,如下图

QQ图片20131212141312

将【以IIS5.0隔离模式运行WWW服务】的选项打钩去掉。

d) 查看各个网站及所属的虚拟目录【属性】--单击“主目录”选项卡,确认您正在指派的目录或虚拟目录的“应用程序名”是否已被填写。如果“应用程序名”框尚未被填写,请单击“创建”,然后输入名称。

e) 查看【事件查看器】-【应用程序】中关于IIS的日志

f)  为某网站或虚拟目录配置.NetFrameWork版本(在没有Asp.Net选项卡的情况下)

#以为默认网站下的A服务配置4.0为例
cd %SYSTEMDRIVE%\Windows\Microsoft.NET\Framework\v4.0.30319
aspnet_regiis.exe -s W3SVC/1/ROOT/A
#回车即可。-s 的参数格式可以查看 aspnet_regiis.exe的帮助。【W3SVC/网站序号(可以再IIS中选中[网站]后右侧列表查看)/ROOT/服务名称】【   注意大小写区分。】

 

其他

   

 网站或虚拟目录属性中没有Asp.Net选项卡

解决:打开CMD,输入以下命令

cscript.exe %SYSTEMDRIVE%\inetpub\adminscripts\adsutil.vbs SET W3SVC/AppPools/Enable32bitAppOnWin64 0

结语:Asp.Net选项卡是出来了,但是你会发现部分服务无法正常浏览了。。。撤回的方法

cscript.exe %SYSTEMDRIVE%\inetpub\adminscripts\adsutil.vbs SET W3SVC/AppPools/Enable32bitAppOnWin64 1
完成之后,看Web服务扩展,应该会多出一个32位的asp.net将其设置为允许,缺点:这样会使整个IIS上的所有站点都以32位兼容方式运行 。

 

——————————————————————————————————————————————————————————

 

事件日志:无法加载站点/服务的所有 ISAPI 筛选器。因此启动中止。 Service Unavailable解决
故障状态:Internet 信息服务(IIS)管理器 里 应用程序池出现错误 “应用程序池 已停止 未指定的错误”
本问题的解决:
可能是安装了某些软件,把相关服务去掉便可
问题:一直正常,安装了一个防盗链系统并卸载,重启机器,出现Service Unavailable 事件查看器有:无法加载站点/服务的所有 ISAPI 筛选器。因此启动中止。应用程序池在iis启动后是已停止状态,但可以手动启动,不过启动后会继续出现错误 “应用程序池 已停止 未指定的错误”,问题依然。
打开iis-->查看“网站”的属性--->ISAPI 筛选器-->把有向下的红箭头的项删除掉-->重启iis-->OK

 

———————————————————————————————————————————————————————————

IIS 无法向会话状态服务器

在"管理工具"中的"服务"启动"ASP.NET   State   Service",这种方法我自己试了,能解决问题的。

link:http://www.cnblogs.com/lcl_1015/articles/2038103.html

————————————————————————————————————————————————————————————

 

参考资料:

win2003 64位系统IIS6.0 32位与64位间切换

Windows Server 2003 x64 IIS配置

IIS6.0 应用程序池设置 为每个网站设置独立应用程序池

 

 

posted @ 2013-12-12 14:48  小 天  阅读(975)  评论(0编辑  收藏  举报