这几天在windows 2003 服务器上用IIS6部署PHP+asp+.NET,出现了N多的错误,
可能是因为很久没有配置这些东西了,好多东西都忘了,
那些错误反反复复折腾了好几天,才搞定.
所以简单记录一下排错的过程,省得以后再折腾:
主要是整理一下IIS配置问题,
1.iis6.0 安装问题.没有光盘,可到网上下载个IIS6.0包.
2.显示404错误“无法找到该页”,
HTTP 错误 404 – 文件或目录未找到
打开网站后出现以上错误,只要是asp的就找不到文件,可文件明明存在
.htm能显示,记得好像iis6.0 asp格式要启用一下,但又记不得在那启用了,
上网查了一下:
iis管理=>web服务扩展=>active server pages允许
(包含文件 允许)
3.启用父路径
IIS中 属性->主目录->配置->选项中。把”启用父路径“前面打上勾。确认刷新
4.NTFS分区上主目录文件夹的权限设置
5.HTTP 500 – 内部服务器错误
网上说是IWAM账号不同步,IWAM账号是安装IIS时系统自动建立的一个内置账号。IWAM账号建立后被Active Directory、IIS metabase数据库和COM+应用程式三方一起使用,账号密码被三方分别保存,并由操作系统负责这三方保存的IWAM密码的同步工作。系统对IWAM账号的密码同步工作有时会失效,导致IWAM
账号所用密码不统一。
解决方式网上说得太复杂,也比较乱[又是脚本,又是命令的].
偶有解决过程如下:
1.IWAM_XX帐号,设置密码(计算机管理-用户管理中进行)
2.iis管理中,安全选项中的匿名访问,设置与刚才相同的密码.
3. 控制面板——管理工具——组件服务——组件服务—— 计算机——我的电脑—— COM+应用程序–IIS Out-Of-Process Pooled Applications
上按右键选择‘属性’——选择‘标识’,指定用户:IWAM_XX 输入刚才相
同的密码。 (注:需重启该服务,才会生效)。
6.这时打开后,会出现未授权,无法查看的错识.将计算机管理-用户管理中的IUSR_XX(XX是指你的计算机名)的帐号改为刚才相同的密码.
(网上还有一个是在上面COM+应用程序中改这个:
在“IIS In-Process Applications”上按右键选择‘属性’——选择‘安全性’,将‘启用身份验证’勾去掉 ;
在“IIS Utilities”上按右键选择‘属性’——选择‘安全性’,将‘启用身份验证’勾去掉。
) 我没有测试,可能意思是一样的.
7.这样改到最后,打开asp程序,还是500错误,但发现有部分ASP文件打开是正常的.莫非是数据库连接部分出错,测试单独的数据库连接文件db.asp.500错误,而没有用连接文件的ASP文件,打开正常.修改SA密码,测试通过.一切正常…. ,没想到数据库连接出错 也会提示500错误..
至于其他权限问题,实在是太麻烦,看我以前的文章吧:
windows2003 iis6 asp.net2.0安装后出现HTTP 错误 401.1 - 未经授权:访问由于凭据无效被拒绝。
服务器网站ServiceUnavailable
Apache DocumentRoot移动到apache/htdocs目录外后,总提示403无权限的错误