PM2 启动 Node.js 应用后如何自动重启?

什么是 PM2

PM2(Process Manager 2)是一个进程管理器,支持 Node.js,具有负载均衡、自动重启、日志记录等功能,是一个非常实用的工具。

为什么需要自动重启

当 Node.js 应用出现错误或崩溃时,如果没有自动重启功能,需要手动重启应用,非常麻烦且容易出错。而 PM2 提供了自动重启功能,可以帮助我们自动重启应用,提高应用的稳定性和可靠性。

如何配置自动重启

在使用 PM2 启动 Node.js 应用时,可以通过配置文件或命令行参数来启用自动重启功能。

配置文件方式

创建一个配置文件 pm2.config.js,内容如下:

module.exports = {
  apps: [{
    name: 'my-app',
    script: 'app.js',
    autorestart: true,
    watch: true,
    max_memory_restart: '1G',
  }],
};

其中 autorestart 表示启用自动重启,watch 表示监视文件变化,max_memory_restart 表示应用使用的最大内存超出限制时自动重启。

使用 pm2 start pm2.config.js 命令启动应用即可。

命令行参数方式

使用 pm2 start app.js --name my-app --watch --max-memory-restart 1G --autorestart 命令启动应用即可。

示例代码

以下是一个简单的 Node.js 应用,使用 PM2 启动并配置自动重启功能:

// app.js
const express = require('express');
const app = express();

app.get('/', (req, res) => {
  res.send('Hello, world!');
});

app.listen(3000);

使用配置文件方式启动应用:

// pm2.config.js
module.exports = {
  apps: [{
    name: 'my-app',
    script: 'app.js',
    autorestart: true,
    watch: true,
    max_memory_restart: '1G',
  }],
};

使用命令行参数方式启动应用:

总结

使用 PM2 启动 Node.js 应用并配置自动重启功能,可以提高应用的可靠性和稳定性,减少手动操作,更加方便和高效。

来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/659df6e5add4f0e0ff717d69


纠错反馈