Files
jiebanke/BACKEND_DEPLOYMENT_GUIDE.md
mapleaf 54d00846ac feat(deploy): 更新后端 API 域名并添加部署指南
- 将后端 API域名从 https://api.jiebanke.com 改为 https://webapi.jiebanke.com
- 新增 CentOS 服务器部署指南和相关脚本
- 更新环境变量配置和 API 文档中的示例 URL
2025-09-08 18:10:41 +08:00

4.1 KiB
Raw Blame History

后端部署指南 - CentOS服务器

📋 部署概述

本指南详细说明如何将jiebanke后端项目部署到CentOS服务器1.13.156.49)的 /data/nodejs/jiebanke 目录。

🎯 目标环境

  • 服务器: 1.13.156.49 (CentOS)
  • 部署目录: /data/nodejs/jiebanke
  • 运行端口: 3000
  • 进程管理: PM2

📁 部署文件说明

1. 服务器初始化脚本 (init-server.sh)

# 功能: 在目标服务器上初始化Node.js环境
# 包含: Node.js 18.x安装、PM2安装、目录创建、防火墙配置
# 用法: ./init-server.sh

2. 后端部署脚本 (deploy-backend.sh)

# 功能: 将本地后端代码部署到服务器并重启服务
# 包含: 依赖安装、文件同步、PM2重启
# 用法: ./deploy-backend.sh

3. PM2配置文件 (backend/ecosystem.config.js)

# 功能: PM2进程管理配置
# 包含: 环境配置日志管理性能优化重启策略

🚀 部署步骤

步骤1: 服务器环境初始化

# 运行初始化脚本(只需执行一次)
./init-server.sh

初始化脚本执行内容:

  • 更新系统包
  • 安装Node.js 18.x
  • 安装PM2进程管理器
  • 创建项目目录结构
  • 配置防火墙开放端口3000

步骤2: 后端代码部署

# 运行部署脚本(每次更新后执行)
./deploy-backend.sh

部署脚本执行内容:

  1. 检查本地Node.js环境
  2. 安装生产依赖 (npm install --production)
  3. 使用rsync同步代码到服务器排除不必要的文件
  4. 在服务器上安装依赖
  5. 使用PM2重启应用服务

步骤3: 验证部署

# 检查服务状态
ssh root@1.13.156.49 "pm2 status"

# 查看应用日志
ssh root@1.13.156.49 "tail -f /data/nodejs/jiebanke/logs/out.log"

# 测试API接口
curl http://1.13.156.49:3000/api/v1/health

🔧 配置文件说明

PM2配置 (ecosystem.config.js)

  • 集群模式: 使用所有CPU核心
  • 内存限制: 最大1GB内存自动重启
  • 日志管理: 日志文件存储在 /data/nodejs/jiebanke/logs/
  • 环境配置: 支持development/production/test环境

环境变量

部署前请确保服务器上有正确的 .env 文件,包含:

  • 数据库连接配置
  • JWT密钥
  • Redis配置如使用
  • 其他第三方服务配置

🛠️ 日常运维

查看服务状态

ssh root@1.13.156.49 "pm2 status"
ssh root@1.13.156.49 "pm2 logs jiebanke-backend"

重启服务

ssh root@1.13.156.49 "pm2 restart jiebanke-backend"

停止服务

ssh root@1.13.156.49 "pm2 stop jiebanke-backend"

查看系统资源

ssh root@1.13.156.49 "top"
ssh root@1.13.156.49 "df -h"

🚨 故障排除

常见问题

  1. 端口占用
ssh root@1.13.156.49 "lsof -i :3000"
ssh root@1.13.156.49 "kill -9 <PID>"
  1. 权限问题
ssh root@1.13.156.49 "chmod -R 755 /data/nodejs/jiebanke"
  1. 依赖安装失败
# 清除npm缓存
ssh root@1.13.156.49 "npm cache clean --force"

# 重新安装依赖
ssh root@1.13.156.49 "cd /data/nodejs/jiebanke && rm -rf node_modules && npm install"

日志分析

# 应用日志
ssh root@1.13.156.49 "tail -f /data/nodejs/jiebanke/logs/error.log"

# PM2日志
ssh root@1.13.156.49 "pm2 logs jiebanke-backend"

# 系统日志
ssh root@1.13.156.49 "journalctl -u pm2-root"

📊 监控与备份

应用监控

# 安装PM2监控插件
ssh root@1.13.156.49 "pm2 install pm2-logrotate"
ssh root@1.13.156.49 "pm2 set pm2-logrotate:max_size 10M"
ssh root@1.13.156.49 "pm2 set pm2-logrotate:retain 30"

数据备份

# 数据库备份
ssh root@1.13.156.49 "mysqldump -u root -p jiebandata > /backup/db-backup-$(date +%Y%m%d).sql"

# 代码备份
ssh root@1.13.156.49 "tar -czf /backup/code-backup-$(date +%Y%m%d).tar.gz /data/nodejs/jiebanke"

📞 支持信息

  • 服务器地址: 1.13.156.49
  • 部署目录: /data/nodejs/jiebanke
  • 服务端口: 3000
  • 进程名称: jiebanke-backend
  • 日志目录: /data/nodejs/jiebanke/logs/

最后更新: 2024年 📅