#!/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 / 手机号获取开关"