fork_mode和之间的主要区别在于
cluster_mode,它命令pm2使用child_process.fork
api或集群 api。
这在内部意味着什么?
货叉模式
将
fork模式作为基本过程生成。这允许更改
exec_interpreter,以便您可以使用pm2
运行
php或
python服务器。是的,
exec_interpreter是用于启动子进程的“命令”。默认情况下,pm2将使用,
node因此
pm2start server.js将执行以下操作:
require('child_process').spawn('node', ['server.js'])此模式非常有用,因为它有很多可能性。例如,您可以在预先建立的端口上启动多个服务器,然后由HAProxy或Nginx对其进行负载平衡。
集群模式
该
cluster只一起工作
node,因为它是
exec_interpreter(:例如,因为它会进入到集群的NodeJS模块
isMaster,
fork方法等)。这对于零配置流程管理非常有用,因为该流程将在多个实例中自动分叉。例如,
pm2start -i 4 server.js将启动4个实例,
server.js并让集群模块处理负载平衡。



