node.js - 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) 的结果都相同。我错过了什么?
解决方案
显然问题是我的文件夹结构。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/"}
]
}
一切都按预期工作
推荐阅读
- reactjs - 向 MongoDB 添加元素后视图未更新
- laravel - NextJS api cookie 未在响应标头中设置
- swift - Swift4,后继者()
- css - 如何在 2 列布局中先填充右列,然后再填充左列
- cognos - 如何在 Cognos 11 中获得平均时间
- c# - 如何防止 C# 列表框中的向下按钮?
- ios - iOS 应用程序在设备上签名和安装后崩溃:DYLD,未找到依赖 dylib '@rpath/LegacyDatabase.framework/LegacyDatabase'
- dynamic-programming - 为什么最长回文子串是一个动态规划问题?
- flutter - 如何在 Flutter 中使用工作管理器运行后台进程?
- javascript - 开玩笑无法模拟特定功能