售前咨询400-838-0503

如何在Linux云服务器上安装PM2管理Node.js进程?

发布:2025-05-14 00:54

如何在Linux云服务器上安装PM2管理Node.js进程?

作为Node.js开发者,你是否经常遇到服务器崩溃后应用无法自动重启的问题?PM2正是解决这个痛点的完美工具。本文将详细介绍在Linux云服务器上安装和使用PM2的全过程,帮助你实现Node.js应用的进程管理和自动恢复。

为什么选择PM2?

PM2是Node.js生态系统中最流行的进程管理器,具有以下核心优势:

  • 进程守护:确保应用崩溃后自动重启
  • 负载均衡:支持多核CPU的集群模式
  • 日志管理:集中收集和查看应用日志
  • 监控面板:直观的实时性能监控

安装前准备

在开始安装PM2之前,请确保你的Linux云服务器满足以下条件:

  1. 已安装Node.js(建议版本12.x以上)
  2. 拥有sudo或root权限
  3. 网络连接正常

详细安装步骤

1. 通过npm全局安装PM2

sudo npm install pm2@latest -g

安装完成后,验证版本:

pm2 --version

2. 常用PM2命令

下面是一些你会经常用到的PM2命令:

命令 功能
pm2 start app.js 启动应用
pm2 list 查看运行中的应用
pm2 logs 查看日志
pm2 stop app 停止应用
pm2 restart app 重启应用

3. 设置开机自启动

为了让PM2管理的应用在服务器重启后自动运行,需要设置启动脚本:

pm2 startup
pm2 save

这将创建一个systemd服务,确保所有当前管理的应用在系统启动时自动运行。

高级配置技巧

1. 使用生态系统文件

创建ecosystem.config.js文件来管理复杂配置:

module.exports = {
  apps: [{
    name: "my-app",
    script: "./app.js",
    instances: "max",
    exec_mode: "cluster",
    env: {
      NODE_ENV: "development",
    },
    env_production: {
      NODE_ENV: "production",
    }
  }]
}

2. 监控应用性能

PM2提供了内置的监控工具:

pm2 monit

3. 日志管理

配置日志轮转,防止日志文件过大:

pm2 install pm2-logrotate
pm2 set pm2-logrotate:max_size 10M
pm2 set pm2-logrotate:retain 30

常见问题解决

1. 权限问题

如果遇到EACCES错误,可以尝试:

sudo chown -R $USER:$(id -gn $USER) /home/yourusername/.config

2. 端口冲突

检查端口是否被占用:

sudo netstat -tulnp | grep :3000

3. 内存泄漏

使用以下命令监控内存使用:

pm2 list
pm2 show [app-id]

最佳实践建议

  • 生产环境使用Nginx作为反向代理
  • 定期更新PM2到最新版本
  • 为不同环境使用不同的配置文件
  • 设置合理的日志轮转策略

通过本文的指导,你应该已经成功在Linux云服务器上安装了PM2,并掌握了基本的Node.js进程管理技能。PM2的强大功能将显著提高你的应用稳定性和运维效率。现在就去实践这些技巧,让你的Node.js应用运行得更稳定、更高效!

按文档操作后还是不行,把机器编号、出问题的时间点和现象截图一起提工单,能少来回一轮。

提交工单