在 64 位上运行 IIS 7.5,但要编辑哪个配置文件?

在 64 位上运行 IIS 7.5,但要编辑哪个配置文件?

我们刚刚将旧的 Windows 2003 服务器迁移到 Windows 2008 64 位,因此我们正在尝试适应较新的 IIS。

我们需要对诸如 MIME 类型等方面进行大量更改,并且认为如果我们只是编辑配置文件而不是使用 IIS 管理器,这些更改会进行得更快。

然而,我们发现了两个配置文件的路径:

%WinDir%\System32\Inetsrv\Config\applicationHost.config %WinDir%\SysWOW64\inetsrv\Config\applicationHost.config

由于我们使用的是 64 位系统,我假设我们需要编辑SysWOW64文件夹下的文件。但是,我们一整晚都在编辑 IIS 中的设置,但两个文件都显示修改日期是几分钟前...

所以,我想知道我们需要弄乱哪一个...并且,当我们这样做时,IIS 是否会在我们保存时自动获取更改,或者我们是否需要在管理器中执行某些操作来刷新设置?

编辑:

可能值得一提的是:我们使用此服务器来运行 Coldfusion 9,除了我们托管的几个带有静态 HTML 的站点之外,所有站点都运行 Coldfusion。

编辑:

仔细研究了一下,似乎我读取文件的时间戳有误。似乎当我在 IIS 中进行更改时,System32 文件被更改,而 SysWOW64 未受影响。但是,这很奇怪,因为 SysWOW64 文件是在昨晚 10:44PM 修改的,所以我可以假设该文件正在被使用(我们在此之前就开始工作了)?昨晚 10:45PM 左右,我确实对“iisreset”进行了命令行调用,这会不会弄乱了什么?

还有一点需要注意:我们的网站所在的应用程序池设置为 ASP.NET 2.0,以防产生某种影响(可能需要将其切换为 4.0)。

答案1

结果是,出于某种原因,我们需要使用 64 位文本编辑器来编辑此配置文件。这是我第一次遇到这种情况(我使用 32 位应用程序 Notepad++ 在 64 位系统上编辑文本文件),但对于这些 IIS 配置文件来说,这是一种“特殊情况”。

我们应该编辑的实际位置也原来是%WinDir%\System32\Inetsrv\Config\applicationHost.config

我不知道为什么我们必须使用 64 位应用程序来处理这个文件,但我知道使用可以解决我们的问题。我们最终使用了记事本2,因为这是我们真正能找到的唯一 64 位的东西;但它运行得相当好。

答案2

默认情况下,64 位操作系统将以 64 位模式运行应用程序池,但 IIS7 也可以运行 32 位应用程序池。我相信这就是您拥有这两个文件的原因。

答案有更详细。

在 64 位操作系统下,.NET 应用程序既可以在 WOW64 模式下在 32 位 CLR 上运行,也可以在 x64 模式下本机运行。每个 .NET 框架实例都有自己的一组配置文件,并忽略所有其他配置文件。

检查启用32BitAppOnWin64属性来确定应用程序池是在 32 位还是 64 位模式下运行。

相关内容