Files
jiebanke/deploy-backend.sh
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

78 lines
2.0 KiB
Bash
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/bin/bash
# 后端部署脚本 - 部署到CentOS服务器
# 目标服务器: 1.13.156.49
# 目标目录: /data/nodejs/jiebanke
# 配置参数
LOCAL_DIR="/Users/ainongkeji/code/vue/jiebanke/backend"
REMOTE_USER="root"
REMOTE_HOST="1.13.156.49"
REMOTE_DIR="/data/nodejs/jiebanke"
# 检查本地目录是否存在
if [ ! -d "$LOCAL_DIR" ]; then
echo "错误:本地目录 $LOCAL_DIR 不存在!"
exit 1
fi
# 检查Node.js环境
if ! command -v node &> /dev/null; then
echo "错误本地Node.js环境未安装"
exit 1
fi
# 安装生产依赖
cd "$LOCAL_DIR"
echo "安装生产依赖..."
npm install --production
# 使用 rsync 上传文件到服务器
echo "开始上传后端文件到远程服务器..."
rsync -avz --progress --delete \
--exclude 'node_modules' \
--exclude '.git' \
--exclude '.env' \
--exclude 'logs' \
--exclude 'uploads' \
--include 'ecosystem.config.js' \
"$LOCAL_DIR/" "$REMOTE_USER@$REMOTE_HOST:$REMOTE_DIR/"
# 在服务器上执行部署后命令
echo "在远程服务器上执行部署命令..."
ssh "$REMOTE_USER@$REMOTE_HOST" << EOF
cd "$REMOTE_DIR"
# 安装生产依赖
echo "在服务器上安装依赖..."
npm install --production
# 使用PM2重启应用
if command -v pm2 &> /dev/null; then
echo "使用PM2重启应用..."
if [ -f "ecosystem.config.js" ]; then
pm2 reload ecosystem.config.js --env production
pm2 save
else
pm2 restart jiebanke-backend || pm2 start src/server.js --name "jiebanke-backend" --env production
fi
else
echo "PM2未安装使用node直接启动..."
pkill -f "node.*server.js" || true
NODE_ENV=production nohup node src/server.js > server.log 2>&1 &
fi
# 检查服务状态
echo "检查服务状态..."
sleep 3
if command -v pm2 &> /dev/null; then
pm2 status
else
ps aux | grep "node.*server.js" | grep -v grep
fi
EOF
echo "后端部署完成!"
echo "服务器地址: $REMOTE_HOST"
echo "部署目录: $REMOTE_DIR"
echo "应用应该运行在端口 3000 上"