上一篇 下一篇 分享链接 返回 返回顶部

零基础搭建 Dify:从服务器到上线,一篇讲透完整部署流程

发布人:慈云数据-客服中心 发布时间:12小时前 阅读量:6

Dify 部署完整教程|零基础可学

Dify 是一款非常适合构建 AI 应用的开源平台,它可以帮助你快速搭建聊天机器人、知识库问答、AI 工作流、智能客服、内容生成工具等应用。对于没有太多开发经验的新手来说,Dify 的优势在于:界面友好、配置简单、支持多种大模型、内置知识库与工作流能力,并且可以通过 Docker 快速部署。

本文将从零开始,带你完整了解 Dify 的部署流程。即使你之前没有部署过开源项目,也可以按照步骤一步一步完成。


一、什么是 Dify?

Dify 是一个开源的 LLMOps 平台,也可以理解为“大模型应用开发平台”。它提供了从模型接入、提示词编排、知识库构建、应用发布到 API 调用的一整套能力。

你可以用 Dify 做很多事情,例如:

  • 搭建一个企业内部知识库问答系统;
  • 制作一个微信公众号 AI 助手;
  • 开发一个客服机器人;
  • 构建自动写作、翻译、总结工具;
  • 设计复杂的 AI 工作流;
  • 将 AI 能力通过 API 集成到自己的业务系统中。

Dify 支持多种模型服务,例如:

  • OpenAI;
  • Anthropic;
  • Azure OpenAI;
  • 通义千问;
  • 智谱 AI;
  • DeepSeek;
  • Ollama 本地模型;
  • Hugging Face;
  • 其他兼容 OpenAI API 格式的模型服务。

如果你只是想体验 AI 应用搭建,Dify 是一个非常友好的入门选择。


二、部署前需要准备什么?

在正式部署 Dify 之前,我们需要准备一台服务器或者本地电脑。

1. 推荐部署环境

如果你只是学习和测试,可以使用本地电脑部署;如果你希望长期运行,建议使用云服务器。

推荐配置如下:

项目 推荐配置
CPU 2 核及以上
内存 4GB 及以上,推荐 8GB
硬盘 20GB 及以上
系统 Ubuntu 20.04 / 22.04
部署方式 Docker Compose
网络 能访问模型 API 服务

如果你要使用本地大模型,例如 Ollama、Xinference 等,则服务器配置需要更高,特别是显卡和内存。

2. 需要安装的软件

本教程主要使用 Docker 部署 Dify,因此需要安装:

  • Git;
  • Docker;
  • Docker Compose。

如果你使用的是 Ubuntu 服务器,可以直接按照本文命令操作。


三、连接服务器

如果你购买的是云服务器,例如阿里云、腾讯云、华为云、AWS 或其他云主机,通常会得到一个公网 IP、用户名和密码,或者密钥文件。

在本地终端中使用 SSH 连接服务器:

ssh root@你的服务器IP

例如:

ssh root@192.168.1.100

如果你使用的是普通用户,例如 ubuntu

ssh ubuntu@你的服务器IP

连接成功后,就可以在服务器上执行后续命令。


四、更新系统环境

首先更新系统软件包:

sudo apt update
sudo apt upgrade -y

安装常用工具:

sudo apt install -y curl wget git vim unzip ca-certificates

这些工具在后续安装和排查问题时会经常用到。


五、安装 Docker

Dify 推荐使用 Docker Compose 部署,因为这种方式可以自动启动多个服务,例如 Web 前端、API 服务、数据库、Redis、向量数据库等。

1. 安装 Docker

执行以下命令安装 Docker:

curl -fsSL https://get.docker.com | bash

安装完成后,查看 Docker 版本:

docker --version

如果能看到类似下面的输出,说明 Docker 安装成功:

Docker version 26.x.x

2. 设置 Docker 开机自启

sudo systemctl enable docker
sudo systemctl start docker

查看 Docker 运行状态:

sudo systemctl status docker

如果状态显示为 active,说明 Docker 正常运行。

3. 将当前用户加入 Docker 用户组

如果你不想每次执行 Docker 命令都加 sudo,可以执行:

sudo usermod -aG docker $USER

然后退出当前 SSH,重新登录服务器。


六、安装 Docker Compose

现在较新版本的 Docker 已经内置了 Docker Compose 插件,可以通过下面命令查看:

docker compose version

如果显示版本号,说明可以直接使用。

如果没有安装,可以使用:

sudo apt install -y docker-compose-plugin

再次验证:

docker compose version

注意,新的命令是:

docker compose

而不是旧版本的:

docker-compose

本文统一使用 docker compose


七、下载 Dify 项目代码

进入一个合适的目录,例如 /opt

cd /opt

克隆 Dify 官方仓库:

git clone https://github.com/langgenius/dify.git

进入 Dify 项目目录:

cd dify

Dify 的 Docker 部署文件一般位于 docker 目录下:

cd docker

查看目录文件:

ls

你会看到类似下面的文件:

docker-compose.yaml
.env.example
middleware.env.example

不同版本文件名可能略有变化,但整体部署方式基本一致。


八、配置环境变量

Dify 使用 .env 文件保存环境配置。首次部署时,需要从示例文件复制一份。

cp .env.example .env

然后编辑 .env 文件:

vim .env

如果你不熟悉 Vim,可以使用 Nano:

nano .env

1. 基础配置说明

.env 文件中,你会看到很多配置项。新手第一次部署时,大部分配置可以保持默认,只需要重点关注以下几类。

2. 应用访问地址

找到类似配置:

CONSOLE_WEB_URL=
APP_WEB_URL=
SERVICE_API_URL=

如果你只是用服务器 IP 访问,可以设置为:

CONSOLE_WEB_URL=http://你的服务器IP
APP_WEB_URL=http://你的服务器IP
SERVICE_API_URL=http://你的服务器IP

例如:

CONSOLE_WEB_URL=http://123.123.123.123
APP_WEB_URL=http://123.123.123.123
SERVICE_API_URL=http://123.123.123.123

如果你有域名,例如:

dify.example.com

则可以设置为:

CONSOLE_WEB_URL=https://dify.example.com
APP_WEB_URL=https://dify.example.com
SERVICE_API_URL=https://dify.example.com

3. Secret Key 配置

Dify 通常会要求配置密钥,例如:

SECRET_KEY=

可以使用下面命令生成一个随机密钥:

openssl rand -base64 42

复制输出结果,填入 .env 文件中:

SECRET_KEY=你生成的随机字符串

密钥非常重要,不建议使用简单字符串,也不要随意泄露。

4. 数据库与 Redis 配置

如果使用 Dify Docker Compose 默认配置,一般不需要修改数据库和 Redis 配置。默认情况下,Docker 会自动启动 PostgreSQL、Redis 等服务。

新手建议不要随意更改这些配置,除非你明确知道自己在做什么。

5. 向量数据库配置

Dify 支持多种向量数据库,例如:

  • Weaviate;
  • Qdrant;
  • Milvus;
  • Chroma;
  • PGVector。

默认部署通常会配置一种向量数据库。对于初学者,建议直接使用默认设置,先保证 Dify 可以正常运行。

保存 .env 文件后退出编辑器。


九、启动 Dify

/opt/dify/docker 目录下执行:

docker compose up -d

这个命令会自动拉取镜像并启动服务。

第一次启动可能需要较长时间,因为要下载多个 Docker 镜像。根据服务器网络速度,可能需要几分钟到十几分钟。

启动完成后,查看容器状态:

docker compose ps

你应该能看到多个服务,例如:

api
worker
web
db
redis
nginx

如果状态是 runningUp,说明服务已经启动。

查看日志:

docker compose logs -f

如果只想查看某个服务日志,例如 API:

docker compose logs -f api

十、访问 Dify 控制台

部署完成后,在浏览器中访问:

http://你的服务器IP

例如:

http://123.123.123.123

如果你配置了域名,则访问:

https://dify.example.com

首次访问时,Dify 会引导你创建管理员账号。你需要填写:

  • 管理员邮箱;
  • 用户名;
  • 密码。

创建完成后,就可以进入 Dify 控制台。


十一、服务器防火墙与安全组设置

如果你无法访问 Dify,常见原因是云服务器安全组或系统防火墙没有放行端口。

1. 云服务器安全组

在云服务商控制台中,检查安全组规则,确保开放:

端口 说明
80 HTTP 访问
443 HTTPS 访问
22 SSH 远程连接

如果你使用了其他端口,也需要对应放行。

2. Ubuntu 防火墙

如果服务器开启了 UFW,可以查看状态:

sudo ufw status

放行 80 和 443 端口:

sudo ufw allow 80
sudo ufw allow 443

如果 SSH 端口是 22,也要确保放行:

sudo ufw allow 22

启用防火墙:

sudo ufw enable

十二、配置大模型服务

Dify 部署完成后,还需要配置大模型,否则应用无法真正调用 AI。

进入 Dify 控制台后,找到:

设置 → 模型供应商

不同版本界面名称可能略有变化,通常会叫“模型供应商”或“Model Provider”。

1. 配置 OpenAI

如果你使用 OpenAI,需要准备 API Key。

配置内容通常包括:

  • Provider:OpenAI;
  • API Key:你的 OpenAI API Key;
  • 模型:如 gpt-4o-minigpt-4.1 等。

保存后,可以点击测试。如果测试成功,就说明模型接入正常。

2. 配置 DeepSeek

如果你使用 DeepSeek,也可以在模型供应商中添加对应 API Key。

常见配置包括:

API Key:你的 DeepSeek API Key
Base URL:https://api.deepseek.com

模型可以选择:

deepseek-chat
deepseek-reasoner

具体以平台当前支持为准。

3. 配置兼容 OpenAI API 的模型

很多国产模型平台都提供兼容 OpenAI 格式的接口。你可以选择 OpenAI-Compatible 或类似选项,填写:

API Key
Base URL
模型名称

例如:

Base URL:https://api.example.com/v1
Model:example-chat

4. 配置 Ollama 本地模型

如果你希望在本地或服务器上运行模型,可以使用 Ollama。

安装 Ollama:

curl -fsSL https://ollama.com/install.sh | sh

拉取模型,例如:

ollama pull qwen2.5:7b

启动后,在 Dify 中配置 Ollama 的访问地址。需要注意,如果 Dify 运行在 Docker 容器中,而 Ollama 运行在宿主机上,容器访问宿主机地址可能不能直接使用 localhost

在 Linux 中,可以尝试使用宿主机 IP,或者配置 Docker 网络。对于新手来说,建议先使用云模型 API,部署成功后再研究本地模型。


十三、创建第一个 AI 应用

模型配置完成后,就可以创建你的第一个 AI 应用了。

1. 新建应用

进入 Dify 控制台,点击:

创建应用

通常可以选择以下类型:

  • 聊天助手;
  • 文本生成应用;
  • Agent;
  • Workflow 工作流;
  • Chatflow 聊天流。

如果你是新手,建议先选择“聊天助手”。

2. 编写提示词

在应用配置页面,可以填写系统提示词,例如:

你是一名专业的企业知识库助手,请使用简洁、准确、友好的语言回答用户问题。
如果用户的问题超出知识库范围,请明确说明无法确定,不要编造答案。

好的提示词可以显著提升应用效果。

3. 选择模型

选择刚刚配置好的模型,例如:

gpt-4o-mini

或:

deepseek-chat

4. 测试应用

在右侧测试窗口输入问题,例如:

请介绍一下你能做什么?

如果模型正常返回内容,说明应用已经成功运行。


十四、配置知识库问答

Dify 的一个重要能力是知识库。通过知识库,你可以让 AI 基于指定文档回答问题,而不是完全依赖模型自身知识。

1. 创建知识库

进入:

知识库 → 创建知识库

上传文档,例如:

  • PDF;
  • Word;
  • Markdown;
  • TXT;
  • 网页内容;
  • 企业内部资料。

2. 文档分段与索引

上传文档后,Dify 会对文档进行分段,并生成向量索引。这个过程需要用到 Embedding 模型。

因此你需要在模型供应商中配置可用的 Embedding 模型,例如:

  • OpenAI Embedding;
  • 通义千问 Embedding;
  • BGE 系列;
  • 其他兼容模型。

如果知识库索引失败,通常是 Embedding 模型没有配置好。

3. 在应用中关联知识库

进入你的应用配置页面,找到“上下文”或“知识库”配置项,选择刚刚创建的知识库。

然后测试:

根据知识库内容,介绍一下公司的请假制度。

如果回答能基于上传文档生成,说明知识库配置成功。


十五、配置域名与 HTTPS

如果只是测试,可以直接使用 IP 访问;如果正式使用,建议配置域名和 HTTPS。

1. 域名解析

在域名服务商后台添加一条 A 记录:

dify.example.com → 你的服务器IP

等待解析生效后,可以使用:

ping dify.example.com

检查是否解析到正确 IP。

2. 使用 Nginx 反向代理

Dify Docker Compose 通常已经包含 Nginx 服务。如果你希望使用外部 Nginx,也可以在宿主机配置反向代理。

示例配置:

server {
    listen 80;
    server_name dify.example.com;

    location / {
        proxy_pass http://127.0.0.1:80;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}

不过需要注意,如果宿主机 Nginx 和 Dify 内置 Nginx 都占用 80 端口,会发生冲突。新手建议优先使用 Dify 默认配置,等熟悉后再自定义。

3. 配置 HTTPS

可以使用 Certbot 申请免费 SSL 证书:

sudo apt install -y certbot python3-certbot-nginx

申请证书:

sudo certbot --nginx -d dify.example.com

根据提示完成配置。

如果你使用的是 Dify 自带 Nginx,HTTPS 配置方式可能需要修改 Docker 中的 Nginx 配置文件。对于初学者,另一种更简单的方式是使用宝塔面板、1Panel、Nginx Proxy Manager 或云服务商提供的负载均衡 HTTPS。


十六、Dify 常用管理命令

1. 启动服务

docker compose up -d

2. 停止服务

docker compose down

3. 重启服务

docker compose restart

4. 查看服务状态

docker compose ps

5. 查看日志

docker compose logs -f

6. 查看某个服务日志

docker compose logs -f api

7. 更新镜像并重启

docker compose pull
docker compose up -d

8. 查看磁盘占用

docker system df

9. 清理无用镜像

docker image prune -a

清理前请确认不再需要相关镜像,避免误删。


十七、如何升级 Dify?

Dify 是持续更新的开源项目,建议定期关注官方版本。

升级前务必备份数据。

1. 进入 Dify 目录

cd /opt/dify

2. 拉取最新代码

git pull

3. 进入 Docker 目录

cd docker

4. 检查环境变量变化

新版本可能会增加新的环境变量,因此建议对比:

diff .env.example .env

如果发现新增配置,需要手动补充到 .env 中。

5. 拉取最新镜像并启动

docker compose pull
docker compose up -d

6. 查看服务状态

docker compose ps

如果服务正常运行,说明升级完成。


十八、数据备份建议

Dify 涉及数据库、上传文件、知识库索引等数据。正式使用前,一定要做好备份。

1. 备份数据库

如果使用默认 PostgreSQL,可以进入容器或使用 Docker 命令导出数据库。

示例:

docker compose exec db pg_dump -U postgres dify > dify_backup.sql

具体数据库用户名和库名请以你的 .env 配置为准。

2. 备份 Docker Volume

查看数据卷:

docker volume ls

可以使用 tar 或专门的备份工具备份 volume。

3. 备份 .env 文件

.env 文件中包含关键配置,一定要备份:

cp .env .env.backup

但注意不要将 .env 上传到公开仓库,因为里面可能包含密钥。


十九、常见问题与解决方法

问题 1:浏览器无法访问 Dify

可能原因:

  • Docker 服务没有启动;
  • 80 端口没有开放;
  • 云服务器安全组未放行;
  • Nginx 容器启动失败;
  • .env 配置错误。

排查命令:

docker compose ps
docker compose logs -f nginx

同时检查安全组和防火墙。


问题 2:容器一直重启

查看日志:

docker compose logs -f

重点关注:

  • 数据库连接失败;
  • Redis 连接失败;
  • 环境变量缺失;
  • 端口被占用;
  • 镜像拉取不完整。

如果是端口冲突,可以查看端口占用:

sudo lsof -i :80

或:

sudo netstat -tulpn | grep 80

问题 3:模型调用失败

可能原因:

  • API Key 填写错误;
  • 账户余额不足;
  • Base URL 配置错误;
  • 模型名称填写错误;
  • 服务器无法访问模型服务;
  • 网络代理未配置。

可以在服务器中测试网络:

curl https://api.openai.com

如果访问失败,需要检查服务器网络或代理配置。


问题 4:知识库无法索引

常见原因是 Embedding 模型没有配置好。

解决方法:

  • 在模型供应商中配置 Embedding 模型;
  • 检查 API Key;
  • 检查文档格式;
  • 查看 worker 日志:
docker compose logs -f worker

问题 5:上传文件失败

可能原因:

  • 文件大小超过限制;
  • 存储目录权限问题;
  • API 服务异常;
  • Nginx 上传限制。

可以检查 .env 中与文件上传相关的配置,或者查看:

docker compose logs -f api
docker compose logs -f nginx

二十、Dify 部署后的安全建议

部署成功只是第一步,正式使用还需要考虑安全问题。

1. 修改默认密码

首次创建管理员账号后,请使用强密码,避免使用简单密码,例如 123456admin123

2. 不要公开泄露 API Key

Dify 中配置的大模型 API Key 非常重要,一旦泄露可能产生费用损失。

3. 定期备份数据

建议每天或每周自动备份数据库和上传文件。

4. 使用 HTTPS

如果对外提供服务,一定要使用 HTTPS,避免账号密码和数据明文传输。

5. 限制后台访问

如果是企业内部使用,可以考虑:

  • 使用 VPN;
  • 设置 IP 白名单;
  • 使用反向代理增加访问认证;
  • 关闭不必要端口。

6. 定期升级

开源项目会修复漏洞和问题,建议定期升级 Dify 和服务器系统。


二十一、适合新手的部署流程总结

如果你是零基础,可以按下面的简化流程执行:

sudo apt update
sudo apt install -y curl wget git vim unzip ca-certificates
curl -fsSL https://get.docker.com | bash
sudo systemctl enable docker
sudo systemctl start docker
docker compose version
cd /opt
git clone https://github.com/langgenius/dify.git
cd dify/docker
cp .env.example .env
vim .env
docker compose up -d
docker compose ps

然后打开浏览器访问:

http://你的服务器IP

创建管理员账号,进入后台,配置模型供应商,就可以开始创建 AI 应用了。


二十二、结语

Dify 的部署并不复杂,核心步骤可以概括为:准备服务器、安装 Docker、下载项目、配置环境变量、启动服务、访问控制台、配置模型。对于零基础用户来说,最容易出问题的地方通常是端口未开放、环境变量配置错误、模型 API Key 不正确、知识库 Embedding 模型未配置。

建议第一次部署时不要急于修改太多高级配置,先使用默认 Docker Compose 方案跑起来。等你熟悉 Dify 的基本功能后,再进一步研究域名 HTTPS、本地模型、知识库优化、工作流编排、API 集成和生产环境安全加固。

Dify 的价值不仅在于“部署一个 AI 平台”,更在于它能让你快速把大模型能力转化为真实可用的业务应用。只要完成部署,你就可以开始尝试构建自己的 AI 助手、知识库机器人、自动化工作流,甚至把它集成到网站、企业微信、飞书、钉钉或自己的业务系统中。

如果你是第一次接触 AI 应用开发,Dify 是一个非常值得上手的工具。按照本文步骤操作,你基本可以完成从零到可用的完整部署。

目录结构
全文