refactor: 完成静态网站转换,移除所有 CMS 和动态功能

- 删除数据库相关代码 (src/db/)
- 删除 API 路由 (src/app/api/)
- 删除认证相关代码 (src/lib/auth/, src/providers/)
- 删除监控和安全中间件 (src/lib/security/, src/lib/monitoring/)
- 删除 hooks (use-news, use-products, use-services)
- 更新组件为静态数据源
- 添加 nginx 静态配置和部署脚本
- 添加 static-link 组件
This commit is contained in:
张翔
2026-04-21 07:53:56 +08:00
parent cd1d6aa28a
commit 6403489954
197 changed files with 654 additions and 24762 deletions
+84
View File
@@ -0,0 +1,84 @@
#!/bin/bash
# Novalon 静态站点部署脚本
# 用法: bash scripts/deploy-static.sh [环境]
# 环境参数: production (默认)
set -euo pipefail
ENV="${1:-production}"
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
PROJECT_DIR="$(dirname "$SCRIPT_DIR")"
BUILD_DIR="$PROJECT_DIR/dist"
DEPLOY_DIR="/var/www/novalon"
BACKUP_DIR="/var/www/novalon-backup"
TIMESTAMP=$(date +%Y%m%d_%H%M%S)
echo "========================================="
echo " Novalon 静态站点部署"
echo " 环境: $ENV"
echo " 时间: $(date '+%Y-%m-%d %H:%M:%S')"
echo "========================================="
# 步骤 1: 构建
echo ""
echo "[1/5] 构建静态站点..."
cd "$PROJECT_DIR"
npm run build
if [ ! -d "$BUILD_DIR" ]; then
echo "❌ 构建失败:dist 目录不存在"
exit 1
fi
echo "✅ 构建完成,产物大小:$(du -sh "$BUILD_DIR" | cut -f1)"
# 步骤 2: 备份当前版本
echo ""
echo "[2/5] 备份当前版本..."
if [ -d "$DEPLOY_DIR" ]; then
mkdir -p "$BACKUP_DIR"
cp -r "$DEPLOY_DIR" "$BACKUP_DIR/novalon-backup-$TIMESTAMP"
# 只保留最近 3 个备份
ls -t "$BACKUP_DIR"/ | tail -n +4 | xargs -I {} rm -rf "$BACKUP_DIR/{}"
echo "✅ 备份完成: $BACKUP_DIR/novalon-backup-$TIMESTAMP"
else
echo "⚠️ 首次部署,无需备份"
mkdir -p "$DEPLOY_DIR"
fi
# 步骤 3: 部署新版本
echo ""
echo "[3/5] 部署新版本..."
# 清空目标目录(保留 .well-known
if [ -d "$DEPLOY_DIR/.well-known" ]; then
mv "$DEPLOY_DIR/.well-known" /tmp/well-known-backup
fi
rm -rf "$DEPLOY_DIR"/*
cp -r "$BUILD_DIR"/* "$DEPLOY_DIR/"
if [ -d /tmp/well-known-backup ]; then
mv /tmp/well-known-backup "$DEPLOY_DIR/.well-known"
fi
echo "✅ 文件部署完成"
# 步骤 4: 设置权限
echo ""
echo "[4/5] 设置文件权限..."
chmod -R 755 "$DEPLOY_DIR"
echo "✅ 权限设置完成"
# 步骤 5: 重载 Nginx
echo ""
echo "[5/5] 重载 Nginx..."
if nginx -t 2>/dev/null; then
nginx -s reload
echo "✅ Nginx 重载成功"
else
echo "⚠️ Nginx 配置检查失败,跳过重载(请手动检查)"
fi
echo ""
echo "========================================="
echo " ✅ 部署完成!"
echo " 站点地址: https://www.novalon.cn"
echo " 部署目录: $DEPLOY_DIR"
echo "========================================="