#!/bin/bash # 重新部署并强制浏览器更新缓存 SERVER_IP="115.190.235.230" SSH_PORT="22" SERVER_USER="root" REMOTE_DIR="/var/www/chinese-family-tree" APP_PORT="8006" echo "🔧 重新部署应用并强制浏览器更新缓存..." echo "1. 构建最新代码..." pnpm build if [ $? -eq 0 ]; then echo "✓ 构建成功" else echo "✗ 构建失败" exit 1 fi echo "2. 上传最新代码到服务器..." rsync -avz --progress --delete \ --exclude 'node_modules' \ --exclude '.git' \ --exclude '.next/cache' \ --exclude '.env' \ --exclude '.env.local' \ --exclude '*.log' \ --exclude '*.md' \ --exclude 'test-*.sh' \ --exclude 'test-*.js' \ --exclude 'check-server.sh' \ --exclude 'deploy-manual.sh' \ --exclude 'setup-ssh-key.sh' \ --exclude '*.tar.gz' \ --exclude 'public/uploads/*' \ -e "ssh -p $SSH_PORT" \ ./ $SERVER_USER@$SERVER_IP:$REMOTE_DIR/ if [ $? -eq 0 ]; then echo "✓ 文件上传成功" else echo "✗ 文件上传失败" exit 1 fi echo "3. 重启服务器应用..." ssh -p $SSH_PORT $SERVER_USER@$SERVER_IP << 'ENDSSH' cd /var/www/chinese-family-tree # 清理 Next.js 缓存 rm -rf .next/cache # 重启应用 pm2 restart chinese-family-tree echo "✓ 应用已重启" ENDSSH echo "" echo "✅ 重新部署完成!" echo "" echo "📝 请在浏览器中执行以下操作以查看更新:" echo " 1. 打开浏览器开发者工具 (F12)" echo " 2. 右键点击刷新按钮,选择『清空缓存并硬性重新加载』" echo " 3. 或者使用快捷键:" echo " - Chrome/Edge: Ctrl+Shift+Delete (Windows) 或 Cmd+Shift+Delete (Mac)" echo " - 选择『缓存的图片和文件』,点击清除" echo "" echo "🌐 访问地址: http://${SERVER_IP}:8006"