| 12345678910111213141516171819202122232425262728293031323334353637383940 |
- #!/bin/bash
- set -e
- # === 配置区 ===
- SERVER_HOST="18.180.15.67"
- REMOTE_USER="ubuntu"
- PEM_PATH="$HOME/Downloads/Key/id_tgseo3.pem"
- REMOTE_PATH="/var/www/tg-download-page"
- LOCAL_PATH="./dist"
- # === 步骤1:本地构建 ===
- echo "=============================="
- echo "1. 开始构建项目..."
- yarn install
- rm -rf $LOCAL_PATH
- yarn build
- echo "✅ 构建完成"
- echo "=============================="
- # === 步骤2:远程准备目录和权限 ===
- echo "2. 检查并准备远程目录和权限..."
- ssh -i $PEM_PATH -o StrictHostKeyChecking=no $REMOTE_USER@$SERVER_HOST "\
- sudo mkdir -p $REMOTE_PATH && \\
- sudo chown -R $REMOTE_USER:$REMOTE_USER $REMOTE_PATH\
- "
- echo "✅ 远程目录准备完成"
- echo "=============================="
- # === 步骤3:同步文件 ===
- echo "3. 同步文件到服务器..."
- rsync --exclude='node_modules/' -ravzh --delete -e "ssh -i $PEM_PATH -o StrictHostKeyChecking=no" \
- $LOCAL_PATH/ $REMOTE_USER@$SERVER_HOST:$REMOTE_PATH/
- echo "✅ 文件同步完成!"
- echo "=============================="
- # === 步骤4:重启 Nginx 服务 ===
- echo "4. 重启远程 Nginx 服务..."
- ssh -i $PEM_PATH -o StrictHostKeyChecking=no $REMOTE_USER@$SERVER_HOST "sudo systemctl restart nginx"
- echo "✅ Nginx 已重启"
- echo "=============================="
|