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.
ただし、dotcloud サーバーに ssh して 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
この時点では、ここで概説されているディレクトリ構造と同じように見えるため、何が間違っているのかわかりません。何か案は?
編集:
を試した後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)
何が原因なのかわかりません。