Files
dify-app/docs/deployment-guide.md
T

294 lines
7.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 完整部署指南
> 西安云美电子科技有限公司 - 企业知识库
> 版本:v1.0 | 创建时间:2026-06-06
---
## 部署架构概览
```
┌─────────────────────┐
│ 用户 (浏览器) │
└──────────┬──────────┘
│
┌──────────▼──────────┐
│ Nginx (反向代理) │ :80 / :443
│ SSL 终止 / 负载均衡 │
└──────────┬──────────┘
│
┌───────────────┼───────────────┐
│ │ │
┌──────▼──────┐ ┌─────▼─────┐ ┌──────▼──────┐
│ Dify Web │ │ Dify API │ │ SSRF Proxy │
│ (React SPA) │ │ (Flask) │ │ (Squid) │
│ :3000 │ │ :5001 │ │ :3128 │
└─────────────┘ └─────┬─────┘ └─────────────┘
│
┌────────────┼────────────┐
│ │ │
┌──────▼──────┐ ┌──▼────┐ ┌─────▼──────┐
│ PostgreSQL │ │ Redis │ │ Qdrant │
│ :5432 │ │ :6379 │ │ :6333 │
└─────────────┘ └───────┘ └────────────┘
```
---
## 第一步:服务器准备
### 1.1 系统要求
- Ubuntu 22.04 LTS(推荐)
- 最低 4 核 CPU / 8 GB RAM / 50 GB SSD
- 推荐 8 核 CPU / 16 GB RAM / 100 GB SSD
### 1.2 安装 Docker
```bash
# 更新系统
sudo apt update && sudo apt upgrade -y
# 安装 Docker
curl -fsSL https://get.docker.com | sh
# 安装 Docker Compose(如未自带)
sudo apt install docker-compose-plugin -y
# 验证安装
docker --version
docker compose version
# 将当前用户加入 docker 组
sudo usermod -aG docker $USER
# 重新登录生效
```
---
## 第二步:部署 Dify
### 2.1 克隆项目
```bash
git clone http://git.xayunmei.com/yunmei/dify-app.git
cd dify-app
git checkout feature/dev
```
### 2.2 配置环境变量
```bash
cd docker
# 复制模板
cp .env.example .env
# 生成 SECRET_KEY
SECRET_KEY=$(openssl rand -hex 32)
echo "生成的 SECRET_KEY: $SECRET_KEY"
# 编辑 .env,填入实际值
nano .env
```
**必须修改的配置项**:
| 变量 | 说明 | 操作 |
|------|------|------|
| `SECRET_KEY` | 安全密钥 | 使用上面生成的值 |
| `POSTGRES_PASSWORD` | 数据库密码 | 设置强密码 |
| `REDIS_PASSWORD` | Redis 密码 | 设置强密码 |
| `DEEPSEEK_API_KEY` | DeepSeek API Key | 从 DeepSeek 平台获取 |
### 2.3 启动服务
```bash
# 拉取镜像
docker compose pull
# 启动所有服务
docker compose up -d
# 查看状态
docker compose ps
# 等待所有服务健康(约 30-60 秒)
docker compose ps --format "table {{.Name}}\t{{.Status}}"
```
### 2.4 验证部署
```bash
# 检查 API 服务
curl http://localhost:5001/health
# 检查 Web 服务
curl -I http://localhost:80
```
---
## 第三步:初始化 Dify
### 3.1 创建管理员账号
1. 浏览器访问 `http://<服务器IP>:80`
2. 首次访问进入设置向导
3. 填写邮箱和密码,创建管理员账号
4. 设置管理员姓名
### 3.2 配置模型提供者
1. 进入 Dify 控制台
2. 导航到 **设置 → 模型提供者**
3. 添加 **DeepSeek**:
- API Base: `https://api.deepseek.com`
- API Key: 填入实际的 DeepSeek API Key
4. 验证连接成功
### 3.3 创建知识库
按 `docs/knowledge-base-structure.md` 中的结构创建知识库:
| 知识库名称 | 说明 |
|-----------|------|
| KB-COMP-公司概况 | 公司简介、组织架构 |
| KB-PROD-产品技术 | 产品手册、技术规范 |
| KB-QUAL-质量管理 | 质量体系、检测标准 |
| KB-RULE-制度流程 | 管理制度、审批流程 |
| KB-TRAIN-培训学习 | 培训材料 |
| KB-PROJ-项目档案 | 项目文档 |
| KB-FAQ-常见问题 | FAQ |
**每个知识库的分段配置**:
- 分段模式:自动
- 最大分段长度:500 tokens
- 重叠长度:50 tokens
### 3.4 上传文档
1. 准备各部门的知识库文档(PDF/Word/Markdown)
2. 按分类上传到对应知识库
3. 等待索引完成
4. 测试检索效果
---
## 第四步:配置对话应用
### 4.1 创建聊天应用
1. Dify 控制台 → **创建应用 → 聊天助手**
2. 应用名称:**云美知识助手**
3. 导入 DSL 配置(可选):
- 应用设置 → 右上角 → **导入 DSL**
- 上传 `dsl/app-config.yaml`
4. 或手动配置(参考 `dsl/app-config.yaml` 中的参数)
### 4.2 配置提示词
复制 `prompts/system-prompt.md` 中的系统提示词到应用配置。
### 4.3 关联知识库
在应用的「知识库」设置中,关联已创建的所有知识库。
### 4.4 配置推荐问题
复制 `prompts/system-prompt.md` 中的推荐问题到应用配置。
### 4.5 测试应用
使用 Dify 内置的调试界面进行测试:
```
测试问题1:公司的组织架构是怎样的?
测试问题2:差旅报销的标准和流程是什么?
测试问题3:质量管理体系审核周期是多久?
```
对照 `tests/test-cases.md` 执行完整测试。
---
## 第五步:发布与接入
### 5.1 发布应用
1. 点击应用右上角 **发布**
2. 选择 **运行环境**(生产环境)
3. 确认发布
### 5.2 获取 API Key
1. 应用 → **访问 API**
2. 创建 API Key
3. 保存 Key(只显示一次)
### 5.3 接入企业微信(可选)
参考 `docs/api-integration.md` 中的企业微信集成示例。
### 5.4 配置 Nginx SSL(生产环境必做)
```bash
# 将 SSL 证书放入 nginx/ssl/ 目录
mkdir -p nginx/ssl
# 编辑 Nginx 配置,启用 HTTPS
# 修改 .env 中的 NGINX_SSL_PORT
```
---
## 日常运维
### 备份
```bash
# 数据库备份(建议设置 cron 每日执行)
docker compose exec db pg_dump -U postgres dify > /backup/dify_$(date +%Y%m%d).sql
# 向量库备份
docker compose exec qdrant curl -X POST http://localhost:6333/snapshots
```
### 更新
```bash
cd docker
docker compose pull
docker compose up -d
```
### 监控
```bash
# 查看服务状态
docker compose ps
# 查看日志
docker compose logs -f --tail=100 api
docker compose logs -f --tail=100 worker
# 查看资源占用
docker stats --no-stream
```
---
## 故障排查速查
| 现象 | 排查命令 | 常见原因 |
|------|---------|---------|
| 页面打不开 | `docker compose ps` | 服务未启动 |
| 模型不回复 | `docker compose logs api` | API Key 无效/过期 |
| 知识库不检索 | `docker compose logs worker` | Worker 异常/索引未完成 |
| 数据库连接失败 | `docker compose logs db` | 密码不一致 |
| 磁盘空间不足 | `df -h` | 日志/数据膨胀 |
---
_最后更新: 2026-06-06_