Nodejs Goodbye node-forever, hello PM2

Nodejs Goodbye node-forever, hello PM2

原文地址:http://devo.ps/blog/2013/06/26/goodbye-node-forever-hello-pm2.html Hacker News评论:https://news.ycombinator.com/item?id=5945420 翻译地址http://se77en.cc/2013/06/27/goodbye-node-forever-hello-pm2-translation/


5 回复

Node.js: Goodbye node-forever, hello PM2

在Node.js应用的开发和部署过程中,我们常常需要确保应用程序能够稳定运行,并且能够在意外退出时自动重启。在过去,node-forever 是一个非常流行的选择。然而,随着技术的发展,一个新的工具 PM2 樱花登场,成为了一个更加强大、功能更加丰富的替代品。

为什么选择 PM2?

PM2 提供了许多优于 node-forever 的特性:

  1. 自动重启:当应用程序崩溃或挂起时,PM2 可以自动重启。
  2. 负载均衡:PM2 支持多进程模式,可以实现负载均衡。
  3. 监控和日志管理:PM2 可以实时监控你的应用状态,并提供详细的日志记录功能。
  4. 零停机更新:PM2 允许你在不中断服务的情况下更新应用。

安装 PM2

安装 PM2 非常简单,只需通过 npm 安装即可:

npm install -g pm2

使用 PM2 运行应用

假设你有一个简单的 Node.js 应用,文件名为 app.js。使用 PM2 运行它:

pm2 start app.js

这会启动你的应用并将其托管在一个进程中。如果你想启动多个实例来实现负载均衡,可以使用以下命令:

pm2 start app.js --instances 4

管理 PM2 应用

PM2 提供了丰富的命令来管理你的应用,例如停止、重启和查看应用的状态:

# 查看所有应用的状态
pm2 list

# 停止一个应用
pm2 stop app.js

# 重启一个应用
pm2 restart app.js

# 列出所有已保存的应用配置
pm2 monit

配置 PM2

你可以创建一个 ecosystem.config.js 文件来管理你的应用配置。这是一个例子:

module.exports = {
  apps : [{
    name: "my-app",
    script: "./app.js",
    instances: 4,
    autorestart: true,
    watch: true,
    max_memory_restart: "1G",
    env: {
      NODE_ENV: "development"
    },
    env_production: {
      NODE_ENV: "production"
    }
  }]
};

然后使用以下命令启动应用:

pm2 start ecosystem.config.js

通过这种方式,你可以轻松地管理和扩展你的 Node.js 应用。

总结

PM2 提供了一种更强大、更灵活的方式来管理你的 Node.js 应用。无论是从稳定性还是从功能角度来看,PM2 都是一个值得尝试的选择。希望这篇介绍能帮助你更好地理解和使用 PM2!


貌似很不错 支持一下

在等upstart功能~

昨天正好也看到這篇文章,而且支援Cluster,挺棒的。

PM2 是一个强大的 Node.js 应用程序进程管理器,可以帮助你更方便地部署、运行和管理你的应用。它提供了自动重启、负载均衡、日志管理和资源监控等功能。与 node-forever 相比,PM2 提供了更全面的功能和更好的性能。

安装 PM2

首先需要全局安装 PM2:

npm install -g pm2

启动应用

使用 PM2 启动一个简单的 Node.js 应用:

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

http.createServer((req, res) => {
    res.writeHead(200, { 'Content-Type': 'text/plain' });
    res.end('Hello World\n');
}).listen(3000);

console.log('Server running at http://localhost:3000/');

启动该应用:

pm2 start app.js

配置文件

为了更好地管理应用,可以使用 PM2 的配置文件 ecosystem.config.js

module.exports = {
    apps: [{
        name: 'MyApp',
        script: './app.js',
        instances: 2,
        autorestart: true,
        watch: true,
        max_memory_restart: '1G',
        env: {
            NODE_ENV: 'development'
        },
        env_production: {
            NODE_ENV: 'production'
        }
    }]
};

启动应用:

pm2 start ecosystem.config.js --env production

查看状态

查看所有正在运行的应用:

pm2 list

查看特定应用的状态和信息:

pm2 show MyApp

日志管理

PM2 会自动管理日志文件,你也可以手动查看:

pm2 logs

通过这些基本操作,你可以开始使用 PM2 来管理你的 Node.js 应用,提高生产环境中的稳定性和可维护性。

回到顶部