我正在使用nodejs
食谱来安装node
和PM2
模块。
include_recipe "nodejs"
nodejs_npm "pm2"
到目前为止,一切都很好。但是,当我尝试使用process.json文件通过PM2启动我的节点应用程序时,它会启动,但当我SSH进入计算机并运行
pm2 list
...时,它并未在PM2输出中列出...太令人讨厌了。我在做错什么事吗?
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列表时,它仅列出了当前的进程用户。
为避免这种情况,您有两种选择:
用相同的用户执行pm2 start process.json
设置PM2_HOME环境变量,以便所有用户都可以访问同一PM2实例。例如PM2_HOME='/etc/.pm2' pm2 start process.json && PM2_HOME='/etc/.pm2' pm2 list
关于node.js - 厨师设置:尝试使用PM2启动 Node 应用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28659253/