如何在Linux云服务器上安装PM2管理Node.js进程?
作为Node.js开发者,你是否经常遇到服务器崩溃后应用无法自动重启的问题?PM2正是解决这个痛点的完美工具。本文将详细介绍在Linux云服务器上安装和使用PM2的全过程,帮助你实现Node.js应用的进程管理和自动恢复。
为什么选择PM2?
PM2是Node.js生态系统中最流行的进程管理器,具有以下核心优势:
- 进程守护:确保应用崩溃后自动重启
- 负载均衡:支持多核CPU的集群模式
- 日志管理:集中收集和查看应用日志
- 监控面板:直观的实时性能监控
安装前准备
在开始安装PM2之前,请确保你的Linux云服务器满足以下条件:
- 已安装Node.js(建议版本12.x以上)
- 拥有sudo或root权限
- 网络连接正常
详细安装步骤
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应用运行得更稳定、更高效!
