首页 > 解决方案 > Pm2 问题 - procces 从生态系统.config.js 启动时未找到 fs.readfilesync 文件

问题描述

我在 GVM 实例中运行 2 个节点应用程序。在他们两个中,我都加载了一些 SSL 证书。如果应用程序单独运行一切都很好( pm2 start path/to/server.js )

但是当我创建一个生态系统.config.js 并尝试启动两个服务器时,我得到一个找不到节点错误文件。

我的生态系统文件:

module.exports = {
apps:[
{ name:"ServerProd",
script: "./backend/server.js" },
{name:"SocketProd",
script:"./socket/WSserver.js"}
]
}

尝试使用 (./filename) (path.join( dir + ./filename) 解析文件并且只是 (filename) 的结果都相同。我错过了什么?

标签: node.jslinuxpm2

解决方案


显然问题是我的文件夹结构。pm2 生态系统文件以某种方式将根目录传递给 nodejs 实例。我设法通过在我的生态系统文件中添加“cwd”选项来解决这个问题。所以 :

apps:[
{ 
name:"ServerProd",
script: "./backend/server.js" 
},
{
name:"SocketProd",
script:"./socket/WSserver.js"}
]
}

变成:

module.exports = {
apps:[
{ 
name:"ServerProd",
script: "server.js",
cwd:"./backend/" 
},
{
name:"SocketProd",
script:"WSserver.js",
cwd:"./socket/"}
]
}

一切都按预期工作


推荐阅读