【问题标题】:How does PM2 manage to run multiple processes listening on the same port?PM2 如何在同一个端口上运行多个进程监听?
【发布时间】:2019-06-11 20:40:43
【问题描述】:

我想知道 pm2 如何让我的 express 应用代码在未修改的情况下在并行进程中运行。当我尝试手动启动我的 express 应用程序的另一个实例时,例如监听端口 3000,我总是收到端口已在使用中的错误。

pm2 是修改运行的 js 代码以在中间插入一些调整,还是模拟某种 VM,然后只向世界公开 pm2 进程的一个端口?幕后发生了什么?

【问题讨论】:

    标签: node.js pm2


    【解决方案1】:

    PM2 不允许您在端口上再次启动相同的脚本。如果您使用pm2 start app.js -f 选项强制脚本重新启动,pm2 将重复尝试启动脚本,但每次都会失败,因为该端口已在使用中。 pm2 ls 可能表明有两个进程正在运行,但实际上第二个进程不断失败,您可以通过运行 pm2 logs 命令来确认。

    如果你说的是 pm2 的集群模式,那么 pm2 只是在内部使用 NodeJS 的集群模块对多个子进程之间的请求进行负载平衡。

    【讨论】:

    • 这说明不了什么。
    猜你喜欢
    • 2013-06-17
    • 1970-01-01
    • 1970-01-01
    • 2013-12-26
    • 1970-01-01
    • 2020-07-30
    • 1970-01-01
    • 2023-03-09
    • 2013-11-05
    相关资源
    最近更新 更多