在京东云服务器(如使用京东云的云主机 CVM)上配置 PM2 守护进程,可以确保你的 Node.js 应用程序在后台稳定运行,并在崩溃或系统重启后自动恢复。以下是详细的配置步骤:
✅ 一、准备工作
-
登录京东云服务器
使用 SSH 登录到你的京东云 Linux 实例(如 CentOS、Ubuntu 等):ssh root@你的公网IP -
更新系统包(可选)
# Ubuntu/Debian sudo apt update && sudo apt upgrade -y # CentOS/RHEL sudo yum update -y -
安装 Node.js 和 npm
推荐使用 nvm 安装 Node.js,便于版本管理。# 安装 nvm curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash # 重新加载 shell 配置 source ~/.bashrc # 安装最新 LTS 版本的 Node.js nvm install --lts # 验证安装 node -v npm -v
✅ 二、安装 PM2
npm install -g pm2
验证安装:
pm2 --version
✅ 三、启动你的 Node.js 应用
假设你的项目位于 /home/ubuntu/myapp,入口文件是 app.js:
cd /home/ubuntu/myapp
pm2 start app.js --name "my-node-app"
常用命令:
pm2 list # 查看运行中的应用
pm2 logs my-node-app # 查看日志
pm2 restart my-node-app # 重启应用
pm2 stop my-node-app # 停止应用
pm2 delete my-node-app # 删除应用
✅ 四、设置 PM2 开机自启
PM2 支持生成开机启动脚本,避免服务器重启后应用无法自动运行。
执行以下命令(根据你的系统选择):
pm2 startup
输出会提示你运行一条命令,例如:
sudo env PATH=$PATH:/usr/bin /usr/lib/node_modules/pm2/bin/pm2 startup systemd -u your_username --hp /home/your_username
注意:请复制并运行
pm2 startup输出的实际命令。
然后保存当前进程列表:
pm2 save
这样,下次系统重启时,PM2 会自动拉起之前运行的应用。
✅ 五、(可选)配置反向X_X(Nginx)
如果你希望用域名访问,建议配合 Nginx 反向X_X。
-
安装 Nginx:
sudo apt install nginx # Ubuntu/Debian sudo yum install nginx # CentOS -
配置 Nginx(示例):
编辑/etc/nginx/sites-available/default或新建站点文件:server { listen 80; server_name your-domain.com; location / { proxy_pass http://127.0.0.1:3000; # 假设你的 Node.js 应用监听 3000 端口 proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection 'upgrade'; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_cache_bypass $http_upgrade; } } -
测试并重启 Nginx:
sudo nginx -t sudo systemctl restart nginx
✅ 六、安全建议
- 开放端口:在京东云控制台的安全组中,放行你需要的端口(如 80、443、3000 等)。
- 使用 HTTPS:建议使用 Let’s Encrypt + Certbot 配置 SSL。
- 非 root 用户运行:避免以 root 身份运行 Node.js 应用,提高安全性。
✅ 七、常见问题排查
- PM2 启动失败? 检查 Node.js 是否安装成功,路径是否正确。
- 应用无法访问? 检查防火墙、安全组、端口监听情况(
netstat -tuln | grep 3000)。 - 日志查看:
pm2 logs是排查问题的关键。
总结
通过以上步骤,你已经成功在京东云服务器上配置了 PM2 守护进程,实现了:
- Node.js 应用后台运行
- 崩溃自动重启
- 系统重启后自动启动
- 日志管理和监控
如有需要,还可以结合 pm2 ecosystem 配置更复杂的部署流程。
如需进一步帮助,可提供你的系统类型和 Node.js 项目结构,我可以给出更具体的配置文件示例。
轻量云Cloud