【问题标题】:503 "Service Unavailable" error for all apps after installing iisnode安装 iisnode 后所有应用程序出现 503“服务不可用”错误
【发布时间】:2012-11-07 15:57:09
【问题描述】:

在 Windows Server 2008 SP2(32 位)上安装 iisnode 后,所有以前运行的应用程序都报告“HTTP 错误 503。服务不可用”。这些应用程序都没有注册或使用 iisnode 模块。

应用程序池在处理其第一个请求后停止。 事件日志将错误报告为 EventID 5002:

“应用程序池 'DefaultAppPool' 由于服务于该应用程序池的进程中的一系列故障而被自动禁用。”

在该错误发生之前,有几个警告为事件 ID 3139:

“服务应用程序池 'DefaultAppPool' 的工作进程 '1688' 中协议 'http' 的侦听器通道报告了侦听器通道故障。数据字段包含错误号。”

我已授予 node.exe (v0.8.14) 以及 C:\Program Files\iisnode\iisnode.dll 的应用程序池标识读取/执行权限。

如果我从 iis 中删除 iisnode 模块,站点和应用程序池运行良好。

关于如何解决这些错误的任何想法?

【问题讨论】:

  • 在安装 iisnode 之后或之前,我面临这个 503 服务不可用,不管我是否附加了 w3wp 进程,我也尝试了各种 edgejs nuget 版本......在我的情况下,原因是该位置是实际代码,没有执行权限它具有读取权限,因此它能够从 js 文件中读取内容,当它轮到执行并在 c# 中调用 edge.func 时,它挂起并停止了 Api 服务。 .. 感谢 P S 检查代码所在主要位置的权限。 .. 谢谢盒马

标签: node.js iis-7 iisnode


【解决方案1】:

仅供在 Windows 事件查看器中收到此错误的任何人使用:

模块 DLL C:\Program Files\iisnode\iisnode.dll 加载失败。数据就是错误。

但不使用 Node,我的解决方案是简单地编辑 C:\Windows\System32\inetsrv\config\applicationHost.config 文件并删除所有引用 iisnode 的行(有 2 行)。

基本上我们已经将旧的 IIS 服务器同步到新的服务器以迁移代码,旧服务器安装了 IISNode,但新服务器没有。由于应用程序实际上并不需要 IISNode,因此只需从 IIS 配置中删除对它的引用即可解决我们的问题。

【讨论】:

    【解决方案2】:

    这是由于这个错误:https://github.com/tjanczuk/iisnode/issues/231。该错误已经修复,带有修复的新版本 iisnode 将很快发布。

    与此同时,您可以在 Windows Server 2008 R2 上使用 iisnode 0.2.0 或移回 iisnode 0.1.21。

    【讨论】:

    • 删除 iisnode v2.0.0 并安装到 v0.1.21 有效。非常感谢您的快速响应以及整个项目。我期待即将发布的版本。
    • 解决问题的v0.2.1刚刚发布,可以从github.com/windowsazure/iisnode/downloads下载
    • 谢谢。我确认 v0.2.1 为我解决了这个问题。
    猜你喜欢
    • 2018-01-01
    • 2017-12-30
    • 1970-01-01
    • 1970-01-01
    • 2016-08-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多