2

クックブックを使用しnodejsてインストールnodePM2モジュール化を行っています。

include_recipe "nodejs"
nodejs_npm "pm2"

ここまでは順調ですね。しかし、process.json ファイルを使用して PM2 経由でノード アプリを起動しようとすると、起動しますが、マシンに ssh して実行すると PM2 出力にリストされませんpm2 list...非常にイライラします。

私は何か間違ったことをしていますか?そこに現れないのは正しいですか?

execute "start node app via PM2" do
  cwd "/share/app"
  command "pm2 startOrRestart process.json"
end

process.json次のようになります。

{
  "apps": [
    {
      "name": "app",
      "script": "src/index.js",
      "watch": true,
      "ignore_watch": ["[\\/\\\\]\\./", "node_modules"],
      "merge_logs": true,
      "exec_interpreter": "node",
      "env": {
        "NODE_ENV": "local",
        "port": 8080
      }
    }
  ]
}
4

1 に答える 1

2

これは、別のユーザーで process.json を開始したためです。ssh して pm2 リストを実行すると、現在のプロセス ユーザーのみがリストされます。

それを避けるには、次の 2 つの選択肢があります。

  • 同じユーザーpm2 start process.jsonで行う
  • PM2_HOME 環境変数を設定して、すべてのユーザーが同じ PM2 インスタンスにヒットするようにします。例えばPM2_HOME='/etc/.pm2' pm2 start process.json && PM2_HOME='/etc/.pm2' pm2 list
于 2015-02-23T23:30:02.470 に答える