【问题标题】:pm2 doesn't work with config json however works with direct commandpm2 不适用于配置 json,但适用于直接命令
【发布时间】:2015-06-26 06:16:15
【问题描述】:

我正在使用 pm2 来管理我的节点 js 服务器。奇怪的是,当我使用 pm2.config.json 文件时,它无法识别相对路径并且节点 js 服务器无法加载文件并尝试终止节点 js 进程,当 pm2 看到节点进程被终止时,它会尝试重新启动节点并进入无限循环。以下是详细信息。

pm2.config.json

{
    "apps": [
        {
            "name": "Application",
            "script": "./server.js",            
            "watch": false            
        }
    ]
}

启动 pm2 的命令:

pm2 start dist/BHS/pm2.config.json

抛出的错误:

BHS Application-0 (err):     at Module._compile (module.js:456:26)
BHS Application-0 (err):     at Object.Module._extensions..js (module.js:474:10)
BHS Application-0 (err):     at Module.load (module.js:356:32)
BHS Application-0 (err):     at Function.Module._load (module.js:312:12)
BHS Application-0 (err):     at Function.Module.runMain (module.js:497:10)
BHS Application-0 (err): 
BHS Application-0 (err): module.js:340
BHS Application-0 (err):     throw err;
BHS Application-0 (err):           ^
BHS Application-0 (err): Error: Cannot find module './server/config/DBConfig.js'
BHS Application-0 (err):     at Function.Module._resolveFilename (module.js:338:15)
BHS Application-0 (err):     at Function.Module._load (module.js:280:25)
BHS Application-0 (err):     at Module.require (module.js:364:17)
BHS Application-0 (err):     at require (module.js:380:17)
BHS Application-0 (err):     at Object.<anonymous> (/Users/dilipkumar/Dilip/Projects/BHS/SourceCode/BHS/server.js:19:16)
BHS Application-0 (err):     at Module._compile (module.js:456:26)
BHS Application-0 (err):     at Object.Module._extensions..js (module.js:474:10)
BHS Application-0 (err):     at Module.load (module.js:356:32)
BHS Application-0 (err):     at Function.Module._load (module.js:312:12)
BHS Application-0 (err):     at Function.Module.runMain (module.js:497:10)

然而,同样的作品没有 pm2.config.json

pm2 start --watch  dist/BHS/server.js 

请帮忙。

【问题讨论】:

    标签: pm2


    【解决方案1】:

    根据PM2 docs,pm2 从它启动的地方启动模块(应用程序)。

    所以最好的选择是使用绝对路径。

    但是,如果您想通过相对路径启动它们,请使用 'cwd' 选项:

    {
        "name": "Application",
        "script": "./server.js",
        "cwd": "/srv/node-app/dist/BHS"
    }
    

    如果您想要比绝对路径更灵活但比“完全”相对路径更可靠的东西,PM2 还应该支持相对于用户主目录 (~/path) 的路径。

    【讨论】:

      猜你喜欢
      • 2016-07-17
      • 2011-03-28
      • 2021-05-02
      • 2020-01-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-12-16
      • 2021-03-23
      相关资源
      最近更新 更多