云服务器如何配置PM2管理Node应用?
云服务器上配置PM2管理Node.js应用的完整指南
在当今云原生时代,Node.js开发者越来越依赖云服务器部署应用。本文将从零开始,手把手教你如何在主流云服务器上配置PM2来高效管理Node.js应用,包含7个实用技巧和常见问题解决方案。
一、为什么选择PM2管理Node应用?
PM2作为Node.js进程管理器,相比直接使用node app.js启动应用,具有以下显著优势:
- 进程守护:自动重启崩溃的应用
- 负载均衡:支持集群模式充分利用多核CPU
- 日志管理:集中收集标准输出和错误日志
- 监控面板:提供直观的运行时状态监控
二、详细配置步骤(以Ubuntu 20.04为例)
1. 前期准备
# 更新系统软件包
sudo apt update && sudo apt upgrade -y
# 安装Node.js(推荐使用nvm)
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash
source ~/.bashrc
nvm install 16
2. 安装PM2
npm install pm2@latest -g
pm2 update
3. 配置启动脚本
创建ecosystem.config.js配置文件:
module.exports = {
apps: [{
name: "my-app",
script: "./app.js",
instances: "max",
autorestart: true,
watch: false,
env: {
NODE_ENV: "production"
}
}]
}
三、高级配置技巧
1. 开机自启动配置
pm2 startup
pm2 save
2. 日志轮转管理
pm2 install pm2-logrotate
pm2 set pm2-logrotate:max_size 10M
3. 监控仪表板
pm2 monitor
四、常见问题解决
| 问题现象 | 解决方案 |
|---|---|
| PM2启动失败 | 检查Node.js版本是否兼容,建议使用LTS版本 |
| 内存泄漏 | 使用pm2 logs分析日志,设置max_memory_restart |
| 端口占用 | 通过lsof -i :3000查找占用进程 |
通过本文介绍的配置方法,你的Node.js应用将获得企业级的稳定性保障。建议定期执行pm2 update保持工具最新,并结合CI/CD流程实现自动化部署。
