46 lines
1.8 KiB
Bash
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 / 手机号获取开关"
|