目前正在尝试让 iis 7 工作,但每次我请求页面时,应用程序池都会进入停止状态。
在事件日志中返回的内容如下。
The Module DLL 'C:\Windows\System32\inetsrv\defdoc.dll' could not be loaded due
to a configuration problem. The current configuration only supports loading
images built for a x86 processor architecture. The data field contains the
error number.
我已经重新安装了 iis,还有其他想法吗?我读到有人通过再次下载 dll 解决了这个问题,但这似乎是一个奇怪的解决方案。
谢谢。
编辑
我现在用从网上下载的文件替换了该文件,现在它显示
由于配置问题,无法加载模块 DLL“C:\Windows\System32\inetsrv\protsup.dll”。
我希望我不需要得到 100 个这样的。
答案1
这实际上看起来就像您的 IIS 安装(或至少是 IIS dll...)已损坏。
我将执行以下步骤来尝试进行“干净”重新安装:
- 停止 IIS
- 卸载 IIS
- 删除
c:\windows\system32\inetsrv
目录 - 重启
- 安装 IIS
答案2
就我而言,这可能与不正确的配置文件有关,因为我从另一台服务器移动了 IIS 安装并使用了共享配置功能。
IIS 版本相同。
尝试访问服务器运行的任何站点后,应用程序池立即停止。每个站点都有自己的应用程序池。哦,我尝试将 app.pool 设置设置为允许 32 位应用程序仅用于测试,但没有任何效果。在这种情况下很明显,因为设置之前运行良好,而且我没有更改该设置。
顺便说一句。看来一般的 Windows 服务器管理任务已经超出了一个人可以处理的范围。未来可能会出现更多的专业化。比如普通的 IIS 管理员、安全管理员、AD 管理员等。如果确实有这种情况,我会很高兴。我正在尝试处理所有 MCITP:EA 材料,这似乎占用了我所有的时间。而且这还远远不够。
我已经是 MCSE 2003 了。但 IIS 6 之后的版本让我头疼。
答案3
我看到了相同的错误消息。进入您的应用程序池并确保已启用 32 位和 64 位应用程序。接下来,如果您从应用程序调用任何 32 位 DLL,并且您在 64 位机器上,您需要将 32 位 DLL 和任何依赖项放入 SysWow64/inetsrv 文件夹中,以及它们可能需要的任何配置文件。这对我有用。