Files
2026-07-05 14:43:34 +08:00

46 lines
1.8 KiB
Bash

#!/bin/bash
# 完整部署脚本:上传后端 + 管理后台代码到服务器并重启
# 版本:v2.1
set -e
SERVER="124.221.67.199"
USER="root"
PASS="Szgt888."
REMOTE_DIR="/opt/yuyueguahao/server"
LOCAL_DIR="$(cd "$(dirname "$0")/.." && pwd)"
SSH_OPTS="-o StrictHostKeyChecking=no -o ConnectTimeout=10"
SCP_OPTS="-o StrictHostKeyChecking=no"
echo "=== 苏州肛泰中医院 · 完整部署 v2.0 ==="
echo "本地目录: $LOCAL_DIR"
echo "服务器: $USER@$SERVER:$REMOTE_DIR"
echo ""
echo "=== 1. 上传后端全部代码 ==="
sshpass -p "$PASS" ssh $SSH_OPTS "$USER@$SERVER" "mkdir -p $REMOTE_DIR/src/modules/wechat"
sshpass -p "$PASS" scp $SCP_OPTS -r "$LOCAL_DIR/server/src/" "$USER@$SERVER:$REMOTE_DIR/src/"
echo " 后端代码已上传"
echo "=== 2. 上传管理后台 ==="
sshpass -p "$PASS" scp $SCP_OPTS "$LOCAL_DIR/admin/app.js" "$USER@$SERVER:$REMOTE_DIR/admin/"
sshpass -p "$PASS" scp $SCP_OPTS "$LOCAL_DIR/admin/index.html" "$USER@$SERVER:$REMOTE_DIR/admin/"
echo " 管理后台已上传"
echo "=== 3. 安装后端依赖 ==="
sshpass -p "$PASS" ssh $SSH_OPTS "$USER@$SERVER" "cd $REMOTE_DIR && npm install --production 2>&1 | tail -5"
echo "=== 4. 重启后端服务 ==="
sshpass -p "$PASS" ssh $SSH_OPTS "$USER@$SERVER" "cd $REMOTE_DIR && pm2 restart yuyueguahao-api 2>&1 || pm2 start src/index.js --name yuyueguahao-api 2>&1"
echo "=== 5. 等待服务启动 ==="
sleep 3
echo "=== 6. 验证 API ==="
sshpass -p "$PASS" ssh $SSH_OPTS "$USER@$SERVER" "curl -s http://127.0.0.1:3000/api/v1/wechat/phone-required && echo '' && curl -s http://127.0.0.1:3000/api/v1/banners | head -c 100 && echo ''"
echo ""
echo "=== 部署完成!==="
echo "管理后台: https://y.szgtlive.com/admin/"
echo "请检查电话设置中是否显示:AppID / AppSecret / 手机号获取开关"