mirror of
https://github.com/unilei/aipan-netdisk-search.git
synced 2024-11-25 16:32:42 +08:00
更新readme文档
This commit is contained in:
parent
6959d47984
commit
74e994dd31
272
DEPLOY.md
Normal file
272
DEPLOY.md
Normal file
@ -0,0 +1,272 @@
|
||||
# AiPan NetDisk Search 部署文档
|
||||
|
||||
本文档详细说明了如何部署 AiPan NetDisk Search 项目。项目支持两种部署方式:Docker 部署和传统部署。
|
||||
|
||||
## 环境要求
|
||||
|
||||
- Node.js v20.18.0
|
||||
- PostgreSQL 数据库(版本 12+)
|
||||
- pnpm 包管理器
|
||||
- Docker & Docker Compose (如果使用 Docker 部署)
|
||||
|
||||
## 1. Docker 部署(推荐)
|
||||
|
||||
### 1.1 准备工作
|
||||
|
||||
1. 确保安装了 Docker 和 Docker Compose
|
||||
2. 复制环境变量文件:
|
||||
```bash
|
||||
cp .env.example .env
|
||||
```
|
||||
3. 修改 `.env` 文件,配置必要的环境变量:
|
||||
```bash
|
||||
# 数据库配置(PostgreSQL)
|
||||
DATABASE_URL="postgresql://username:password@host:5432/database_name"
|
||||
DATABASE_SCHEMA="public"
|
||||
SHADOW_DATABASE_URL="postgresql://username:password@host:5432/shadow_database_name"
|
||||
|
||||
# 管理员配置
|
||||
ADMIN_USER="admin"
|
||||
ADMIN_PASSWORD="your_password"
|
||||
ADMIN_EMAIL="admin@example.com"
|
||||
|
||||
# JWT配置
|
||||
JWT_SECRET="your_jwt_secret"
|
||||
```
|
||||
|
||||
### 1.2 使用 Docker Compose 部署
|
||||
|
||||
1. 数据库迁移:
|
||||
```bash
|
||||
# 生成 Prisma 客户端
|
||||
npx prisma generate
|
||||
|
||||
# 执行数据库迁移
|
||||
npx prisma migrate deploy
|
||||
```
|
||||
|
||||
2. 构建并启动容器:
|
||||
```bash
|
||||
docker-compose up -d
|
||||
```
|
||||
|
||||
3. 查看容器运行状态:
|
||||
```bash
|
||||
docker-compose ps
|
||||
```
|
||||
|
||||
4. 查看应用日志:
|
||||
```bash
|
||||
docker-compose logs -f aipan-netdisk-search
|
||||
```
|
||||
|
||||
### 1.3 更新部署
|
||||
|
||||
1. 拉取最新代码:
|
||||
```bash
|
||||
git pull origin main
|
||||
```
|
||||
|
||||
2. 执行数据库迁移(如果有新的迁移):
|
||||
```bash
|
||||
npx prisma migrate deploy
|
||||
```
|
||||
|
||||
3. 重新构建并启动容器:
|
||||
```bash
|
||||
docker-compose up -d --build
|
||||
```
|
||||
|
||||
## 2. 传统部署
|
||||
|
||||
### 2.1 环境准备
|
||||
|
||||
1. 安装 Node.js (v20.18.0):
|
||||
```bash
|
||||
# 使用 nvm 安装 Node.js
|
||||
nvm install 20.18.0
|
||||
nvm use 20.18.0
|
||||
```
|
||||
|
||||
2. 安装 pnpm:
|
||||
```bash
|
||||
npm install -g pnpm
|
||||
```
|
||||
|
||||
3. 安装并配置 PostgreSQL 数据库:
|
||||
- 创建数据库和用户
|
||||
- 设置适当的访问权限
|
||||
- 确保数据库可以从应用服务器访问
|
||||
|
||||
### 2.2 项目部署
|
||||
|
||||
1. 克隆项目:
|
||||
```bash
|
||||
git clone <项目地址>
|
||||
cd aipan-netdisk-search
|
||||
```
|
||||
|
||||
2. 安装依赖:
|
||||
```bash
|
||||
pnpm install
|
||||
```
|
||||
|
||||
3. 配置环境变量:
|
||||
```bash
|
||||
cp .env.example .env
|
||||
# 编辑 .env 文件,配置必要的环境变量
|
||||
```
|
||||
|
||||
4. 数据库设置:
|
||||
```bash
|
||||
# 生成 Prisma 客户端
|
||||
npx prisma generate
|
||||
|
||||
# 执行数据库迁移
|
||||
npx prisma migrate deploy
|
||||
```
|
||||
|
||||
5. 构建项目:
|
||||
```bash
|
||||
npm run build
|
||||
```
|
||||
|
||||
6. 启动服务:
|
||||
```bash
|
||||
# 使用 PM2 启动(推荐)
|
||||
cp ecosystem.config.cjs.example ecosystem.config.cjs
|
||||
# 编辑 ecosystem.config.cjs 配置文件
|
||||
pm2 start ecosystem.config.cjs
|
||||
|
||||
# 或直接启动
|
||||
npm run start
|
||||
```
|
||||
|
||||
## 3. 环境变量说明
|
||||
|
||||
必要的环境变量配置:
|
||||
|
||||
```env
|
||||
# 数据库配置
|
||||
DATABASE_URL="postgresql://username:password@host:5432/database_name"
|
||||
DATABASE_SCHEMA="public"
|
||||
SHADOW_DATABASE_URL="postgresql://username:password@host:5432/shadow_database_name"
|
||||
|
||||
# 管理员配置
|
||||
ADMIN_USER="admin"
|
||||
ADMIN_PASSWORD="your_password"
|
||||
ADMIN_EMAIL="admin@example.com"
|
||||
|
||||
# JWT配置
|
||||
JWT_SECRET="your_jwt_secret"
|
||||
|
||||
# 应用配置
|
||||
NUXT_HOST="0.0.0.0"
|
||||
NUXT_PORT=3000
|
||||
```
|
||||
|
||||
## 4. 数据库管理
|
||||
|
||||
### 4.1 数据模型
|
||||
项目使用 Prisma ORM,主要数据模型包括:
|
||||
- User(用户)
|
||||
- ResourceType(资源类型)
|
||||
- Resource(资源)
|
||||
- Post(文章)
|
||||
- PostCategory(文章分类)
|
||||
- Alist(Alist 源)
|
||||
|
||||
### 4.2 数据库维护
|
||||
1. 查看迁移状态:
|
||||
```bash
|
||||
npx prisma migrate status
|
||||
```
|
||||
|
||||
2. 创建新的迁移:
|
||||
```bash
|
||||
npx prisma migrate dev --name your_migration_name
|
||||
```
|
||||
|
||||
3. 重置数据库:
|
||||
```bash
|
||||
npx prisma migrate reset
|
||||
```
|
||||
|
||||
### 4.3 数据库备份
|
||||
建议定期备份数据库:
|
||||
```bash
|
||||
pg_dump -U username -h hostname database_name > backup.sql
|
||||
```
|
||||
|
||||
## 5. 常见问题
|
||||
|
||||
### 5.1 数据库连接问题
|
||||
- 检查数据库连接字符串格式
|
||||
- 确认数据库服务器防火墙设置
|
||||
- 验证数据库用户权限
|
||||
|
||||
### 5.2 端口占用问题
|
||||
如果 3000 端口被占用,可以通过以下方式修改:
|
||||
- Docker 部署:修改 `docker-compose.yml` 中的端口映射
|
||||
- 传统部署:修改 `.env` 文件中的 `NUXT_PORT`
|
||||
|
||||
### 5.3 性能优化
|
||||
- 使用连接池管理数据库连接
|
||||
- 配置适当的 PM2 实例数
|
||||
- 优化数据库查询和索引
|
||||
- 考虑使用 Prisma Accelerate
|
||||
|
||||
## 6. 监控和维护
|
||||
|
||||
### 6.1 应用监控
|
||||
1. 使用 PM2 监控:
|
||||
```bash
|
||||
pm2 monit
|
||||
```
|
||||
|
||||
2. 查看应用日志:
|
||||
```bash
|
||||
# PM2 日志
|
||||
pm2 logs
|
||||
|
||||
# Docker 日志
|
||||
docker-compose logs -f
|
||||
```
|
||||
|
||||
### 6.2 数据库监控
|
||||
- 监控连接数
|
||||
- 监控查询性能
|
||||
- 监控磁盘使用情况
|
||||
|
||||
### 6.3 定期维护
|
||||
1. 更新依赖包
|
||||
2. 检查安全更新
|
||||
3. 数据库备份
|
||||
4. 日志清理
|
||||
5. 性能优化
|
||||
|
||||
## 7. 安全建议
|
||||
|
||||
1. 数据库安全:
|
||||
- 使用强密码
|
||||
- 限制数据库访问IP
|
||||
- 定期更新数据库版本
|
||||
- 加密敏感数据
|
||||
|
||||
2. 应用安全:
|
||||
- 使用 HTTPS
|
||||
- 定期更新依赖
|
||||
- 使用安全的 JWT 密钥
|
||||
- 实施速率限制
|
||||
|
||||
3. 服务器安全:
|
||||
- 配置防火墙
|
||||
- 定期安全更新
|
||||
- 监控异常访问
|
||||
- 限制端口访问
|
||||
|
||||
如有任何问题,请查看:
|
||||
- 应用日志
|
||||
- Prisma 错误日志
|
||||
- 数据库日志
|
||||
- Docker 日志
|
@ -1,5 +1,5 @@
|
||||
# 第一阶段:构建阶段
|
||||
FROM node:18-alpine AS builder
|
||||
FROM node:20.18.0-alpine AS builder
|
||||
LABEL authors="Lei"
|
||||
|
||||
# 设置工作目录
|
||||
@ -24,7 +24,7 @@ RUN npx prisma generate
|
||||
RUN npm run build
|
||||
|
||||
# 第二阶段:运行阶段
|
||||
FROM node:18-alpine
|
||||
FROM node:20.18.0-alpine
|
||||
LABEL authors="Lei"
|
||||
|
||||
# 设置工作目录
|
||||
|
213
README.md
213
README.md
@ -1,121 +1,148 @@
|
||||
# 爱盼-网盘资源搜索Web [欢迎打赏](https://www.aipan.me/donate)
|
||||
|
||||
🔥 爱盼-网盘资源搜索:是一个免费开源项目!
|
||||
|
||||
[欢迎打赏](https://www.aipan.me/donate)
|
||||
|
||||
-------------------
|
||||
👉 [爱盼-网盘资源搜索](https://www.aipan.me)
|
||||
|
||||
### 🔥更新日志
|
||||
- tv播放
|
||||
- 新增Alist源聚合播放
|
||||
- 新增批量删除功能
|
||||
- 新增博客功能 (分支:[feat-admin-panel](https://github.com/unilei/aipan-netdisk-search/tree/feat-add-admin-panel))
|
||||
- 新增批量上传数据 [csv示例](/assets//readme//demo/demo-multi.csv) [xlsx 示例](https://r2cf.aipan.me/readme/demo/demo-multi.xls)
|
||||
- 增加后台管理, 访问路径:`/login` | `/admin/dashboard` | `/admin/clouddrive`
|
||||
- 后台可以增加自己的网盘资源
|
||||
----
|
||||
|
||||
### 建议
|
||||
项目使用的是第三方的API,对ip有访问限制,建议自己部署使用。
|
||||
|
||||
## 快速开始
|
||||
|
||||
### 在 Vercel 上部署
|
||||
|
||||
`手动安装一样的,只需要配置对应的env就行了`
|
||||
|
||||
[Vercel部署文档](/README_VERCEL.md)
|
||||
# 爱盘-网盘资源搜索 Web
|
||||
|
||||
[![Deploy with Vercel](https://vercel.com/button)](https://vercel.com/new/clone?repository-url=https://github.com/unilei/aipan-netdisk-search.git&project-name=aipan-netdisk-search&repository-name=aipan-netdisk-search)
|
||||
|
||||
|
||||
### Docker执行,推荐使用docker compose
|
||||
|
||||
#### Docker-compose
|
||||
🔥 爱盘-网盘资源搜索是一个开源的网盘资源聚合搜索平台。
|
||||
|
||||
##### 第一步
|
||||
## 功能特点
|
||||
|
||||
```在项目根目录创建.env文件```
|
||||
- 🎯 多源聚合搜索
|
||||
- 📺 在线视频播放
|
||||
- 🗄️ Alist 源聚合
|
||||
- 📝 博客系统
|
||||
- 🔐 后台管理系统
|
||||
- 📊 资源管理
|
||||
- 🚀 批量导入导出
|
||||
|
||||
##### 编译
|
||||
## 技术栈
|
||||
|
||||
- 💻 Frontend
|
||||
- Nuxt.js 3
|
||||
- Vue 3
|
||||
- TailwindCSS
|
||||
- Element Plus
|
||||
|
||||
- 🛠 Backend
|
||||
- Node.js v20.18.0
|
||||
- PostgreSQL
|
||||
- Prisma ORM
|
||||
- JWT Authentication
|
||||
|
||||
## 在线演示
|
||||
|
||||
- 👉 [爱盘-网盘资源搜索](https://www.aipan.me)
|
||||
- 💝 [欢迎打赏](https://www.aipan.me/donate)
|
||||
|
||||
## 快速开始
|
||||
|
||||
### 环境要求
|
||||
|
||||
- Node.js v20.18.0
|
||||
- PostgreSQL 12+
|
||||
- pnpm 包管理器
|
||||
|
||||
### 部署方式
|
||||
|
||||
1. **Vercel 部署**(推荐)
|
||||
- 查看 [Vercel 部署文档](/VERCEL.md)
|
||||
- 点击上方 "Deploy with Vercel" 按钮一键部署
|
||||
|
||||
2. **Docker 部署**(推荐)
|
||||
- 查看 [Docker 部署文档](/DEPLOY.md#docker-部署推荐)
|
||||
```bash
|
||||
# 1. 配置环境变量
|
||||
cp .env.example .env
|
||||
|
||||
# 2. 构建并运行
|
||||
docker compose up -d
|
||||
```
|
||||
|
||||
3. **传统部署**
|
||||
- 查看 [传统部署文档](/DEPLOY.md#传统部署)
|
||||
|
||||
## 最新更新
|
||||
|
||||
- ✨ TV 播放功能
|
||||
- 🔄 Alist 源聚合播放
|
||||
- 🗑️ 批量删除功能
|
||||
- 📝 博客功能
|
||||
- 📤 批量上传数据
|
||||
- [CSV 示例](/assets/readme/demo/demo-multi.csv)
|
||||
- [XLSX 示例](https://r2cf.aipan.me/readme/demo/demo-multi.xls)
|
||||
- 🔐 后台管理系统
|
||||
- 访问路径:`/login`、`/admin/dashboard`、`/admin/clouddrive`
|
||||
- 支持自定义网盘资源管理
|
||||
|
||||
## 项目结构
|
||||
|
||||
```bash
|
||||
docker compose build
|
||||
```
|
||||
##### 运行
|
||||
|
||||
```bash
|
||||
docker compose up -d
|
||||
aipan-netdisk-search/
|
||||
├── assets/ # 静态资源
|
||||
├── components/ # Vue 组件
|
||||
├── layouts/ # 布局组件
|
||||
├── pages/ # 页面组件
|
||||
├── prisma/ # 数据库模型和迁移
|
||||
├── public/ # 公共文件
|
||||
├── server/ # 服务端 API
|
||||
├── stores/ # Pinia 状态管理
|
||||
└── utils/ # 工具函数
|
||||
```
|
||||
|
||||
##### 停止
|
||||
## 开发指南
|
||||
|
||||
```bash
|
||||
docker compose down
|
||||
```
|
||||
|
||||
## 自己部署(不推荐)
|
||||
### 1. 克隆项目
|
||||
|
||||
```bash
|
||||
git clone https://github.com/unilei/aipan-netdisk-search.git
|
||||
```
|
||||
|
||||
### 2. 安装依赖
|
||||
```bash
|
||||
# npm
|
||||
npm install
|
||||
|
||||
# pnpm
|
||||
# 1. 安装依赖
|
||||
pnpm install
|
||||
|
||||
# yarn
|
||||
yarn install
|
||||
```
|
||||
|
||||
### 3. 设置prisma
|
||||
|
||||
```bash
|
||||
# 2. 配置环境变量
|
||||
cp .env.example .env
|
||||
|
||||
# 3. 数据库设置
|
||||
npx prisma generate
|
||||
npx prisma migrate deploy
|
||||
|
||||
```
|
||||
### 3. 运行到浏览器
|
||||
|
||||
```bash
|
||||
# npm
|
||||
npm run dev
|
||||
|
||||
# pnpm
|
||||
# 4. 启动开发服务器
|
||||
pnpm run dev
|
||||
|
||||
# yarn
|
||||
yarn dev
|
||||
```
|
||||
|
||||
### 4. 在浏览器打开 [http://localhost:3001](http://localhost:3001)
|
||||
## API 说明
|
||||
|
||||
![success_deploy.jpg](https://r2cf.aipan.me/readme/screen-6.png)
|
||||
![success_deploy.jpg](https://r2cf.aipan.me/readme/screen-5.png)
|
||||
后台管理 API 路径:
|
||||
- 登录:`/login`
|
||||
- 仪表盘:`/admin/dashboard`
|
||||
- 网盘管理:`/admin/clouddrive`
|
||||
|
||||
#### 如何部署到自己服务器? NUXT.JS 打包部署文档
|
||||
## 注意事项
|
||||
|
||||
[部署文档](https://nuxt.com/docs/getting-started/deployment)
|
||||
- 项目使用第三方 API,对 IP 有访问限制
|
||||
- 建议自行部署使用
|
||||
- 确保数据库配置正确
|
||||
- 定期备份重要数据
|
||||
|
||||
Copyright (C) <2024> <aipan.me>
|
||||
## 贡献指南
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
1. 创建特性分支:`git checkout -b feature/AmazingFeature`
|
||||
2. 提交更改:`git commit -m 'Add some AmazingFeature'`
|
||||
3. 推送分支:`git push origin feature/AmazingFeature`
|
||||
4. 提交 Pull Request
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
## 许可证
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
本项目采用 MIT 许可证 - 查看 [LICENSE](LICENSE) 文件了解详情
|
||||
|
||||
## 截图展示
|
||||
|
||||
![部署成功截图](https://r2cf.aipan.me/readme/screen-6.png)
|
||||
|
||||
## 支持项目
|
||||
|
||||
如果这个项目对你有帮助,欢迎:
|
||||
|
||||
1. 🌟 给项目点个 Star
|
||||
2. 💝 [打赏支持](https://www.aipan.me/donate)
|
||||
|
||||
## 联系方式
|
||||
|
||||
- 项目地址:[GitHub](https://github.com/unilei/aipan-netdisk-search)
|
||||
- 问题反馈:[Issues](https://github.com/unilei/aipan-netdisk-search/issues)
|
||||
- 功能建议:[Discussions](https://github.com/unilei/aipan-netdisk-search/discussions)
|
||||
|
197
VERCEL.md
Normal file
197
VERCEL.md
Normal file
@ -0,0 +1,197 @@
|
||||
# Vercel 部署指南
|
||||
|
||||
本文档详细说明了如何将 AiPan NetDisk Search 项目部署到 Vercel 平台。
|
||||
|
||||
## 1. 准备工作
|
||||
|
||||
### 1.1 Vercel 账号准备
|
||||
1. 访问 [Vercel 官网](https://vercel.com)
|
||||
2. 使用 GitHub 账号登录或注册新账号
|
||||
3. 如果是新账号,完成邮箱验证
|
||||
|
||||
### 1.2 项目准备
|
||||
1. 确保你的项目已经推送到 GitHub 仓库
|
||||
2. 确保项目根目录包含以下文件:
|
||||
- `vercel.json`(已配置)
|
||||
- `package.json`
|
||||
- `.env.example`
|
||||
|
||||
## 2. 部署步骤
|
||||
|
||||
### 2.1 导入项目
|
||||
1. 登录 Vercel 控制台
|
||||
2. 点击 "Import Project" 或 "New Project"
|
||||
3. 选择你的 GitHub 仓库
|
||||
4. 如果没有看到你的仓库,点击 "Configure GitHub App" 添加仓库访问权限
|
||||
|
||||
### 2.2 配置部署选项
|
||||
1. **项目名称**:输入你想要的项目名称
|
||||
2. **Framework Preset**:选择 "Nuxt.js"
|
||||
3. **Root Directory**:保持默认(如果你的项目在根目录)
|
||||
|
||||
### 2.3 环境变量配置
|
||||
在 Vercel 项目设置中配置以下环境变量:
|
||||
|
||||
```bash
|
||||
# 数据库配置(PostgreSQL)
|
||||
DATABASE_URL="postgresql://username:password@host:5432/database_name"
|
||||
DATABASE_SCHEMA="public"
|
||||
SHADOW_DATABASE_URL="postgresql://username:password@host:5432/shadow_database_name"
|
||||
|
||||
# 管理员配置
|
||||
ADMIN_USER="admin"
|
||||
ADMIN_PASSWORD="your_password"
|
||||
ADMIN_EMAIL="admin@example.com"
|
||||
|
||||
# JWT配置
|
||||
JWT_SECRET="your_jwt_secret"
|
||||
|
||||
# 其他必要的环境变量
|
||||
```
|
||||
|
||||
注意:
|
||||
- 确保使用生产环境的 PostgreSQL 数据库 URL
|
||||
- 数据库需要支持 Prisma 的所有功能,建议使用:
|
||||
- [Vercel Postgres](https://vercel.com/docs/storage/vercel-postgres)
|
||||
- [Supabase](https://supabase.com/)
|
||||
- [Railway](https://railway.app/)
|
||||
- 所有密码和密钥都要使用强密码
|
||||
- 不要使用开发环境的配置
|
||||
|
||||
### 2.4 数据库迁移
|
||||
在首次部署前,需要确保数据库已经完成迁移:
|
||||
|
||||
1. 本地运行迁移命令:
|
||||
```bash
|
||||
# 确保本地环境变量配置正确
|
||||
npx prisma migrate deploy
|
||||
```
|
||||
|
||||
2. 或者在部署后通过 Vercel CLI 运行:
|
||||
```bash
|
||||
vercel env pull .env.production
|
||||
npx prisma migrate deploy
|
||||
```
|
||||
|
||||
### 2.5 部署配置
|
||||
|
||||
1. **构建命令**:
|
||||
```bash
|
||||
npx prisma generate && npm run build
|
||||
```
|
||||
|
||||
2. **输出目录**:
|
||||
```bash
|
||||
.output
|
||||
```
|
||||
|
||||
3. **Node.js 版本**:
|
||||
- 在项目设置中将 Node.js 版本设置为 20.18.0
|
||||
|
||||
4. **数据库连接**:
|
||||
- 确保数据库允许来自 Vercel 服务器的连接
|
||||
- 如果使用外部数据库,配置适当的防火墙规则
|
||||
- 建议使用连接池优化性能
|
||||
|
||||
## 3. 部署
|
||||
|
||||
1. 点击 "Deploy" 开始部署
|
||||
2. 等待部署完成
|
||||
3. 部署完成后,Vercel 会提供一个默认域名(例如:your-project.vercel.app)
|
||||
|
||||
## 4. 部署后配置
|
||||
|
||||
### 4.1 自定义域名(可选)
|
||||
1. 在项目设置中点击 "Domains"
|
||||
2. 添加你的自定义域名
|
||||
3. 按照 Vercel 的说明配置 DNS 记录
|
||||
|
||||
### 4.2 环境变量更新
|
||||
如果需要更新环境变量:
|
||||
1. 进入项目设置
|
||||
2. 点击 "Environment Variables"
|
||||
3. 添加或修改环境变量
|
||||
4. 重新部署项目以应用更改
|
||||
|
||||
### 4.3 自动部署
|
||||
默认情况下,Vercel 会:
|
||||
- 自动部署 main/master 分支的更改
|
||||
- 为每个 PR 创建预览部署
|
||||
- 可以在项目设置中修改这些行为
|
||||
|
||||
## 5. 监控和维护
|
||||
|
||||
### 5.1 部署监控
|
||||
1. 查看部署状态和日志
|
||||
2. 监控项目性能
|
||||
3. 查看访问分析
|
||||
|
||||
### 5.2 常见问题处理
|
||||
1. 部署失败:
|
||||
- 检查构建日志
|
||||
- 验证环境变量配置
|
||||
- 确认依赖项版本兼容性
|
||||
|
||||
2. 性能问题:
|
||||
- 使用 Vercel Analytics 监控性能
|
||||
- 检查数据库连接
|
||||
- 优化API响应时间
|
||||
|
||||
### 5.3 回滚部署
|
||||
如果新部署出现问题:
|
||||
1. 在 Deployments 页面找到之前的稳定版本
|
||||
2. 点击 "..." 菜单
|
||||
3. 选择 "Promote to Production"
|
||||
|
||||
## 6. 最佳实践
|
||||
|
||||
1. **环境变量管理**:
|
||||
- 使用不同的环境变量用于开发和生产
|
||||
- 定期更新敏感信息
|
||||
- 不要在代码中硬编码敏感信息
|
||||
|
||||
2. **部署策略**:
|
||||
- 使用 Git 分支进行功能开发
|
||||
- 在合并到主分支前测试预览部署
|
||||
- 保持依赖包更新
|
||||
|
||||
3. **监控和日志**:
|
||||
- 定期检查部署日志
|
||||
- 监控性能指标
|
||||
- 设置警报通知
|
||||
|
||||
## 7. 注意事项
|
||||
|
||||
1. **数据库注意事项**:
|
||||
- 确保 PostgreSQL 数据库版本兼容(建议 12+)
|
||||
- 定期备份数据库
|
||||
- 监控数据库连接数
|
||||
- 设置适当的连接池大小
|
||||
- 考虑使用 Prisma Accelerate 优化性能
|
||||
|
||||
2. **环境变量**:
|
||||
- 所有必需的环境变量都已配置
|
||||
- 数据库连接字符串格式正确
|
||||
- 生产环境使用独立的数据库
|
||||
|
||||
3. **API和数据模型**:
|
||||
- 所有 Prisma 模型都已正确迁移
|
||||
- API 路由正确配置
|
||||
- CORS 设置适当(已在 vercel.json 中配置)
|
||||
|
||||
4. **性能优化**:
|
||||
- 使用适当的数据库索引
|
||||
- 优化查询性能
|
||||
- 考虑使用缓存策略
|
||||
|
||||
5. **监控和日志**:
|
||||
- 监控数据库查询性能
|
||||
- 设置数据库告警
|
||||
- 记录关键操作日志
|
||||
|
||||
如遇到问题,请查看:
|
||||
- Vercel 部署日志
|
||||
- Prisma 错误日志
|
||||
- 数据库日志
|
||||
- 项目 GitHub Issues
|
||||
- Vercel 文档中心
|
Loading…
Reference in New Issue
Block a user