ai-chatbot/fix-deploy.sh
Your Name 53ddb7e585
Some checks failed
Lint / build (20) (push) Has been cancelled
Playwright Tests / test (push) Has been cancelled
Initial commit - clean repository
2025-12-17 20:15:18 +08:00

90 lines
2.2 KiB
Bash
Executable File

#!/bin/bash
# 修复部署脚本
set -e
SERVER="156.225.27.52"
PORT="5204"
USER="root"
PASSWORD="Jsjj@8888"
ssh_cmd() {
sshpass -p "$PASSWORD" ssh -o StrictHostKeyChecking=no -o ConnectTimeout=30 -p $PORT $USER@$SERVER "$1"
}
scp_cmd() {
sshpass -p "$PASSWORD" scp -o StrictHostKeyChecking=no -o ConnectTimeout=30 -P $PORT "$1" $USER@$SERVER:"$2"
}
echo "=========================================="
echo "修复部署问题..."
echo "=========================================="
echo ""
echo "步骤 1: 上传修复后的文件..."
scp_cmd "app/(admin)/api/users/route.ts" "/var/www/ai-chatbot/app/(admin)/api/users/route.ts"
echo ""
echo "步骤 2: 停止应用..."
ssh_cmd "pm2 delete ai-chatbot 2>/dev/null || true"
echo ""
echo "步骤 3: 检查 .next 目录..."
ssh_cmd "cd /var/www/ai-chatbot && ls -la .next 2>/dev/null | head -5 || echo '.next 目录不存在,需要重新构建'"
echo ""
echo "步骤 4: 重新构建项目..."
ssh_cmd "
cd /var/www/ai-chatbot
export NVM_DIR=\"\$HOME/.nvm\"
[ -s \"\$NVM_DIR/nvm.sh\" ] && . \"\$NVM_DIR/nvm.sh\"
echo '运行数据库迁移...'
pnpm db:migrate 2>&1 | grep -E '(Migrations|Error|✅|❌)' || echo '迁移完成'
echo '开始构建...'
pnpm build 2>&1 | tail -80
"
echo ""
echo "步骤 5: 检查构建结果..."
ssh_cmd "cd /var/www/ai-chatbot && ls -la .next 2>/dev/null | head -5 && echo '构建成功' || echo '构建失败'"
echo ""
echo "步骤 6: 启动应用..."
ssh_cmd "
cd /var/www/ai-chatbot
export NVM_DIR=\"\$HOME/.nvm\"
[ -s \"\$NVM_DIR/nvm.sh\" ] && . \"\$NVM_DIR/nvm.sh\"
pm2 start ecosystem.config.js
pm2 save
sleep 3
"
echo ""
echo "步骤 7: 检查应用状态..."
ssh_cmd "
pm2 status ai-chatbot
echo ''
echo '检查端口监听...'
ss -tlnp | grep 3001 || echo '端口3001未监听'
echo ''
echo '测试本地连接...'
curl -s http://localhost:3001 | head -5 || echo '应用未响应'
"
echo ""
echo "步骤 8: 检查FRPC状态..."
ssh_cmd "
systemctl status frpc.service --no-pager -l | tail -10
echo ''
journalctl -u frpc.service -n 10 --no-pager | grep -E 'ai-chatbot|success|error' | tail -5
"
echo ""
echo "=========================================="
echo "修复完成!"
echo "=========================================="
echo ""
echo "访问地址: http://$SERVER:5245"
echo ""