IIS7 设置文件位置

Posted

技术标签:

【中文标题】IIS7 设置文件位置【英文标题】:IIS7 Settings File Locations 【发布时间】:2012-01-27 23:36:56 【问题描述】:

IIS7 将每个虚拟目录/应用程序的配置及其物理路径保存在哪里?

它是一个 XML 文件吗?如果是这样,编辑这个 XML 文件是否会影响 IIS 配置(重启后)?

【问题讨论】:

iis.net/configreference 【参考方案1】:

听起来您正在寻找applicationHost.config,它位于C:\Windows\System32\inetsrv\config

是的,它是一个 XML 文件,是的,手动编辑文件会在重启后影响 IIS 配置。您可以将 IIS 管理器视为用于编辑 applicationHost.configweb.config 的 GUI 前端。

【讨论】:

文件是否被锁定? (在运行时?)我可以在没有任何解锁的情况下编辑它吗? 不,它没有被锁定。不过,您可能需要在进行任何编辑之前制作副本。 此外,该文件可能不会显示非管理员访问的实际信息,如 in this question and a comment to an answer 所述 通过重启,它需要一个完整的 Windows 重启,而不仅仅是 IISRESET Windows Server 2012 R2 似乎不需要重新启动,至少在添加新的应用程序池和网站时是这样。【参考方案2】:

也可以从这里查看这个答案:Cannot manually edit applicationhost.config

答案很简单,如果不是那么明显:win2008 是 64 位,notepad++ 是32位。当您导航到 Windows\System32\inetsrv\config 使用 explorer 你正在使用 64 位程序来查找文件。当你打开 使用 notepad++ 的文件,您尝试使用 32 位打开它 程序。发生混淆是因为,而不是告诉你 这就是您正在做的事情,Windows 允许您打开文件,但是 当你保存它时,文件的路径被透明地映射到 Windows\SysWOW64\inetsrv\Config.

所以在实践中会发生什么是你打开 applicationhost.config 使用 notepad++,进行修改,保存文件;而不是覆盖 您保存它的 32 位副本的原件 Windows\SysWOW64\inetsrv\Config,因此您没有进行更改 到 IIS 实际使用的版本。如果您导航到 Windows\SysWOW64\inetsrv\Config 你会找到你刚刚保存的文件。

如何解决这个问题?简单 - 使用 64 位文本编辑器,例如 Windows 附带的普通记事本。

【讨论】:

另一种方法是使用管理 c$ 允许 32 位程序像 64 位一样读写,因为 Windows 文件共享服务是 64 位的:\\yourservername\c$\Windows\System32\inetsrv\config 如果您想使用 32 位编辑器编辑本地计算机,您也可以使用来自 @TimLewis 的信息并使用您的计算机名称。 只是想说明 Notepad++ 暂时完全是 64 位的。

以上是关于IIS7 设置文件位置的主要内容,如果未能解决你的问题,请参考以下文章

iis7下站点日志默认位置

ubuntu下vnc的配置文件在啥位置

您可以将文件夹结构添加到 IIS7 吗?

将 MVC3 设置为经典 asp 虚拟文件夹下的应用程序 - IIS7

APK IPA --------------- iis7如何添加mime类型支持所有后缀名文件下载的方法(解决特殊后缀文件无法下载的问题)

Web 应用程序的 IIS7 文件夹权限