我已经构建了一个全新安装Windows Server 2016的新服务器,并注意到有关 IIS 的一些奇怪的事情。
IIS 10.0位于该
System32
文件夹内。- 这是否意味着它是 32 位 exe,因此无法运行 64 位 Web 代码?
- 是否有 32 位和 64 位版本的 IIS?
- 如果是这样,我怎么知道我有哪些?
- 如果不是,那么为什么有一些扩展的两个版本?例如https://www.iis.net/downloads/microsoft/url-rewrite#additionalDownloads
IIS 6也位于同一文件夹 ( InetMgr6.exe )。以上帝的名义,为什么!?
如果我运行 IIS 6,它会告诉我在这台服务器上运行的是IIS 7.5!
如果我深入挖掘,IIS 6 说它正在运行SMTP Server。
那是怎么回事?
帮助我理解这一切!
%windir%\System32
是 Windows 64 位上的 64 位系统文件夹(Windows 32 位上是 32 位),而%windir%\WOW64
是 Windows 64 位上的 32 位系统文件夹。记住,如果你还没有。在 Windows 32 位上,IIS 是纯 32 位的。
在 Windows 64 位上,IIS 包含 64 位和 32 位组件,因此它可以同时运行 64 位和 32 位 Web 应用程序。
Microsoft 提供 32 位和 64 位 MSI 包,适用于 32 位和 64 位 Windows 版本。
InetMgr6.exe
是仅用于 SMTP 服务的遗留工具。它与 IIS 无关,因此您可以忽略它。它在那里是出于兼容性目的。如果你想学习,谷歌“IIS SMTP”。因为它是一个遗留工具,如果它告诉你类似 IIS 7.5 的东西,也不要相信它。最后,您使用的是 Windows Server 2016,因此您使用的是 IIS 10,而不是 IIS 7.5。每个 IIS 版本都绑定到一个 Windows 版本,而 IIS 7.5 仅适用于 Windows 7 和 Windows Server 2008 R2。