是否可以同时运行多个不同的pm2实例?

问题描述 投票:0回答:2

我只是想知道是否可以分离我的 pm2 实例。例如,假设我有一个在一个终端中启动的生态系统文件,然后我继续在另一个终端中启动另一个生态系统文件。两个进程似乎合并并开始输出相同的日志。很快就变得非常烦人。有没有办法把它们分开?

node.js pm2
2个回答
2
投票

PM2 默认使用

.pm2
文件夹来放置其日志和 .pid 文件。 PM2 使用 PM2_HOME 环境变量来了解该文件夹的位置。当我将文件夹移动到更大的驱动器时,我发现了这一点,并在检查它正在监视的应用程序时最终得到了一个新实例。如有关运行多个 PM2 实例的文档中所述,您只需为每个实例指定不同的文件夹即可运行多个 PM2 实例:

PM2_HOME='.pm2' pm2 start echo.js --name="echo-node-1"
PM2_HOME='.pm3' pm2 start echo.js --name="echo-node-2"

请记住,要运行任何 PM2 命令,您必须添加正确的 PM2_HOME 前缀:

PM2_HOME='.pm2' pm2 list
PM2_HOME='.pm3' pm2 list

0
投票

这个聚会有点晚了,但对于未来的任何人来说:

这个问题的问题是日志文件在两个实例中合并并输出。

要解决此问题,在每个生态系统文件中,您需要使用

error_file
out_file

为每个实例上的日志文件添加不同的位置/文件名

示例:

module.exports = {
    apps: [
        {
            name: 'Process name',
            script: 'index.js',
            error_file: '/path/to/error/file.log',
            out_file: '/path/to/log/file.log',
            ...additionalProperties
        }
    ]
};

了解更多信息,请参阅PM2生态系统文档

© www.soinside.com 2019 - 2024. All rights reserved.