厨师设置:试图启动与PM2的节点应用程序

我正在使用nodejs食谱来安装nodePM2模块。

 include_recipe "nodejs" nodejs_npm "pm2" 

到现在为止还挺好。 但是,当我尝试通过PM2启动我的节点应用程序与process.json文件启动,但没有列出在PM2输出时,我ssh进入机器,运行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 } } ] } 

这是因为你和另外一个用户启动了process.json,那么当你使用ssh做一个pm2列表时,它只会列出你当前的进程用户。

为了避免你有两个select:

  • pm2 start process.json相同的用户 pm2 start process.json
  • 设置PM2_HOME环境variables,以便所有的用户都会碰到同一个PM2实例。 例如PM2_HOME='/etc/.pm2' pm2 start process.json && PM2_HOME='/etc/.pm2' pm2 list