6

我的服务层中有两台服务器位于负载均衡器后面。它们应该是相同的 - IIS 设置相同,AppFabric(保持两个服务预热),在服务帐户或应用程序池标识下运行的应用程序池。在一台服务器上,一切正常。在另一台服务器上,我的三个应用程序池(AppFabric 正在预热的两个应用程序池,在服务帐户下,一个只是标准应用程序池,没有对默认设置进行任何更改)几乎在我启动它们时停止运行(有时在第一次请求时)。

每次尝试启动其中一个应用程序池时,我都会在应用程序日志中收到以下五个错误:

在处理配置路径的托管应用程序服务自动启动期间出错:“MACHINE/WEBROOT/APPHOST/Site/App”。返回的错误信息是:''。工作进程将被标记为不健康并被关闭。数据字段包含错误代码。

引用的错误代码是80070005.

这实际上适用于同一个站点/应用程序,无论是否启动了应用程序池(尽管在重新创建应用程序池后它可能会发生变化)。

在系统日志中,我在错误 () 之前收到以下警告五次Application pool 'AppPool' is being automatically disabled due to a series of failures in the process(es) serving that application pool.

为应用程序池“AppPool”提供服务的进程在应用程序预加载或服务加载期间报告失败。进程 ID 为“2396”。请确保正确配置应用程序池中的所有应用程序预加载或服务设置。数据字段包含错误号。

引用的错误代码是80004005.

这里的 AppPool 是正在启动的。

我尝试过重新创建;我试过卸载 AppFabric(但我们需要它,所以重新安装了,还是不行)。我没主意了。有什么建议么?

编辑:我尝试从工作服务器复制 applicationHost.config ,但这也不起作用..

EDIT2:其中一个应用程序池在真实用户帐户下运行时有效,但在 ApplicationPoolIdentity 下运行时无效...。

(此外,我们遇到了一个问题,即站点在 2.0 下运行而应用程序在 4.0 下运行。这可能已经解决了作为服务帐户运行的问题。)

4

2 回答 2

2

我只是在同一个问题上挣扎了几个小时,然后发现了另一个罪魁祸首。

在最近的一次提交中,我在我的 Web.config 中添加了一个新的配置部分。我还将这部分添加到 Puppet 用于在部署时生成自定义 Web.config 的单独 ERB 文件中。在这个模板文件中,我添加了新部分,但忘记在<configSections>.

一旦我将声明添加到模板中,我们的应用程序的测试虚拟机就能够再次启动,并且此错误消失了。

于 2014-12-15T19:57:05.510 回答
1

虽然应用程序的应用程序池是 4.0,但网站本身的应用程序池是 2.0,导致了一些问题。我们在不同的驱动器上也有 inetpub,我们必须授予对 SERVER\Users 的访问权限。

于 2013-05-01T12:38:45.793 回答