厨师设置:试图启动与PM2的节点应用程序
我正在使用nodejs
食谱来安装node
和PM2
模块。
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