【问题标题】:Dotcloud nodejs supervisord.conf not workingDotcloud nodejs supervisord.conf 不工作
【发布时间】:2023-03-23 03:25:01
【问题描述】:

我一直试图让主管监控我的 nodejs 服务器进程,但是我在让 supervisord.conf 工作时遇到问题。部署时出现以下错误:

WARNING: The service crashed at startup or is listening to the wrong port. It failed to respond on port "node" (42801) within 30 seconds. Please check the application logs.

但是,当我 ssh 进入 dotcloud 服务器并手动启动 nodejs 进程时,它运行得很好,表明主管无法启动节点实例。

我的 supervisord.conf 如下所示:

[program:node]
command = node /home/dotcloud/current/app/server.js
autostart=true
autorestart=true

而我的目录结构如下:

.dotcloudignore
dotcloud.yml
.gitignore
app/
app/package.json
app/server.js
app/supervisord.conf

在这一点上,我看不出我做错了什么,因为这似乎与here 概述的目录结构相同,所以我有点不知道解决方案是什么。有什么想法吗?

编辑:

尝试supervisorctl status 后,我得到以下信息:

node                             FATAL      Exited too quickly (process log may have details)

我发现在 /var/log/supervisor 中,我收到以下错误消息:

module.js:337
    throw new Error("Cannot find module '" + request + "'");
          ^
Error: Cannot find module '/home/dotcloud/current/app/server.js'
    at Function._resolveFilename (module.js:337:11)
    at Function._load (module.js:279:25)
    at Array.0 (module.js:484:10)
    at EventEmitter._tickCallback (node.js:190:38)

我不确定是什么原因造成的。

【问题讨论】:

  • 你的服务器在监听哪个端口?
  • 它正在侦听 http 8080 和 TCP 42801,我是由 environment.json 文件分配的。如果我通过 ssh 到 dotcloud VM 手动启动它,服务器运行良好。问题在于 supervisord 没有自动启动和重新启动节点服务器
  • 为什么你认为它来自Supervisor?你试过“supervisorctl status”看看它说了什么吗?
  • 感谢您的建议,我已在编辑中将详细信息添加到我的问题中。

标签: javascript node.js deployment dotcloud supervisord


【解决方案1】:

在调查此问题后,问题似乎来自dotcloud.yml 指定approot: app。在这种情况下,请注意:

  • /home/dotcloud/code 将指向整个代码库;
  • /home/dotcloud/current 将指向 approot(更具体地说,/home/dotcloud/current 将是 approot 的符号链接,即在这种情况下为 code/app)。

因此,supervisord.conf 不应包含:

command = node /home/dotcloud/current/app/server.js

但是,相反:

command = node /home/dotcloud/current/server.js

关键在于 Node.js 日志本身,因为 Node.js 抱怨无法找到 /home/dotcloud/current/app/server.js

【讨论】:

    猜你喜欢
    • 2012-05-26
    • 1970-01-01
    • 2013-02-01
    • 2014-11-22
    • 2015-06-12
    • 1970-01-01
    • 1970-01-01
    • 2019-09-04
    • 2016-11-30
    相关资源
    最近更新 更多