AI项目博客
记录 AI 工程实践与大模型应用

企业级大模型私有化部署(二):腾讯云 + Docker 起 Dify

「企业级大模型私有化部署」系列第 2 篇。目标:在腾讯云 4 核 8GB 的 CVM 上,用 Docker 把 Dify 跑起来,完成首次管理员设置,并接一个在线模型验证。

结论:Dify 是应用层,本身不重;真正容易卡住的是 Docker 安装、镜像拉取和首次访问。把这三步做稳,后面接模型才有意义。

一、Dify 能做什么

Dify 是一个综合性的 LLM 应用开发平台,内置了构建生成式 AI 应用所需的大部分技术栈:

  • 基于 Agent 架构构建智能体应用;
  • 基于 RAG 构建私有知识库应用;
  • 基于 Workflow 构建智能工作流应用。

它同时提供图形界面和 API:开发者可以少写「对接不同模型 API、管理对话状态、实现 RAG 流程」这些重复代码,把精力放在业务逻辑上。官网是 https://dify.ai/zh,源码在 GitHub 的 langgenius/dify。访问官网和拉源码都可能受网络影响,后面会讲镜像和 Gitee 的替代方案。

二、租赁腾讯云服务器

Dify 需要的资源不大,一台轻量云服务器就够。这里用腾讯云 CVM,地址是 https://buy.cloud.tencent.com/cvm。

2.1 基础配置

计费方式有三种:包年包月适合长期稳定使用;按量计费适合临时验证;竞价实例最便宜,但可能被平台释放。企业生产环境不要只依赖竞价实例。

地域按用户和业务就近选择;实例配置选 4 核 8GB;镜像选 Ubuntu 22.04 或 24.04。选好后点下一步。

腾讯云 CVM 选择 4 核 8GB

图 1:腾讯云 CVM 选 4 核 8GB;竞价实例更便宜,但可能被释放。

腾讯云选择 Ubuntu 镜像

图 2:镜像选 Ubuntu,系统盘 50GB 起步。

2.2 网络、安全组与主机

带宽按需要拉满;安全组新建一个,至少开放:

  • 22:SSH 登录;
  • 80:Dify 的 HTTP 入口;
  • 443:需要 HTTPS 时再开。

不要开放 2375(Docker API)、3306(MySQL)、6379(Redis)到公网。命名实例,设置 root 或 ubuntu 密码,确认开通。

创建完成后,用公网 IP、22 端口、ubuntu 账号和密码登录。XShell、FinalShell 或系统终端都可以。第一次登录可能提示保存主机指纹,输入 yes 继续。

三、安装 Docker

Dify 基于 Docker 部署,腾讯云新建的 Ubuntu 默认没有 Docker。Docker 是容器化技术,比虚拟机轻量:它把应用和依赖打包成容器,在不同环境里运行,减少「环境不一致」的问题。

按下面的命令安装:

sudo apt update
sudo apt upgrade -y
sudo apt install -y software-properties-common ca-certificates curl gnupg lsb-release

curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
sudo apt-get install -y docker-ce docker-ce-cli containerd.io

sudo systemctl start docker
sudo systemctl status docker

执行 apt upgrade 时可能出现服务重启确认界面,按回车接受默认选项;如果界面卡住,多按几次回车。安装 Docker 时提示输入 y,确认即可。

systemctl status docker 显示 active

图 3:systemctl status docker 显示 active (running) 即安装成功。

看到 active (running) 就说明 Docker 起来了。如果启动失败,先看 journalctl -u docker --no-pager,不要急着重装。

四、部署 Dify

4.1 下载源码

在 /opt 下建目录,拉 Dify 源码:

cd /opt
sudo mkdir dify
sudo git clone https://github.com/langgenius/dify.git
cd dify/docker
sudo docker compose up -d

如果提示权限不足,用 sudo 执行。GitHub 下载慢时,有两个办法:

  1. 用 Gitee 的「导入 GitHub 仓库」功能:注册 Gitee,新建仓库,选择导入,粘贴 https://github.com/langgenius/dify.git,导入完成后 clone 自己的仓库地址;
  2. 用可用的镜像站下载,但要注意版本和完整性。

不要长期依赖别人的仓库,版本和内容都不受你控制。用自己的 Gitee 仓库,至少能确定来源。

4.2 启动容器

进入 dify/docker 目录后执行:

sudo docker compose up -d

docker compose 拉取 Dify 镜像

图 4:docker compose up -d 会拉取 api、worker、web、db、redis、nginx 等镜像。

如果拉镜像超时,配 Docker 镜像源:

sudo vi /etc/docker/daemon.json
{
  "registry-mirrors": [
    "https://docker.1ms.run",
    "https://docker.xuanyuan.me"
  ]
}
sudo systemctl daemon-reload
sudo systemctl restart docker
cd /opt/dify/docker
sudo docker compose up -d

镜像源不是越多越好,按你所在网络可用性选 1 到 3 个;拉取仍失败时,先确认 DNS 和出网,再换源。

如果启动时报 apparmor 相关错误,检查 /etc/apparmor.d/tunables/home.d/ubuntu,按报错行号删掉多余字符,再重新执行 docker compose up -d。

4.3 访问与管理员设置

浏览器访问 http://<腾讯云公网IP>,第一次会进入「设置管理员账户」页面,填邮箱、用户名、密码。

Dify 首次访问设置管理员账户

图 5:Dify 首次访问设置管理员账户;地址换成你的服务器 IP。

密码要求包含字母和数字、长度不小于 8 位。邮箱和密码自己保管,不要照抄课程或文章里的示例。设置完成后进入 Dify 主界面,可以开始创建应用。

如果页面一直加载不出来,先看容器状态:

cd /opt/dify/docker
sudo docker compose ps
sudo docker compose logs -f --tail=100

重点看 api、worker、db、redis 是否 Up。只重启 nginx 通常没用,问题多半在下游容器。

4.4 快照与备份

如果用的是竞价实例,建议在腾讯云控制台设置定期快照策略:实例被释放后还能用快照恢复。Dify 自身要备份的是 dify/docker/volumes 下的数据和 .env 配置;升级前先备份这两处。

五、部署在线大模型(可选)

在接私有模型之前,可以先用一个在线模型验证 Dify 的链路。Dify 的模型供应商里有 DeepSeek,去 DeepSeek 官网申请 API Key,填进 Dify 即可。

Dify 模型供应商里的 DeepSeek

图 6:Dify 的模型供应商里有 DeepSeek,填 API Key 即可用在线模型。

在线模型的优点是省事,缺点是数据要出内网。敏感业务仍然要部署私有模型;在线模型只用来验证流程,或者在非敏感场景兜底。

Dify 模型供应商页面

图 7:Dify 的模型供应商页面;在线模型、Ollama、Xinference 都在这里接。

六、Dify 的组件与运维

Dify 的 docker compose 会起一组容器:web 是前端,api 和 worker 是后端,db 是 PostgreSQL,redis 做缓存,nginx 做入口,plugin_daemon 管插件,sandbox 跑代码,ssrf_proxy 做代理。

常用命令:

cd /opt/dify/docker
sudo docker compose ps          # 看状态
sudo docker compose logs -f api # 看接口日志
sudo docker compose restart     # 重启
sudo docker compose down        # 停止(数据在 volumes 里,不会丢)

服务器重启后如果 Dify 没起来,先确认 Docker 是否开机启动:sudo systemctl enable docker。

七、验收

  1. docker compose ps 里 api、worker、web、db、redis 都是 Up;
  2. curl -I http://<公网IP> 返回 200;
  3. 浏览器能打开 Dify 并登录;
  4. 「设置 → 模型供应商」能正常打开;
  5. 在线模型或本地模型至少有一个能对话。

八、常见报错与处置

现象 原因 处置
拉镜像超时 / TLS handshake timeout 默认镜像源不可达 配 daemon.json 镜像源,重启 Docker 后重试
启动报 apparmor 文件错误 home.d/ubuntu 里有多余字符 按报错行号删除多余内容,再启动
80 端口被占用 服务器上已有 Nginx / Apache 停掉占用进程,或改 Dify 的端口映射
页面打不开但容器都是 Up 安全组没开 80,或 nginx 未启动 检查安全组和 docker compose ps
忘记管理员密码 本地账号 用 Dify 的重置密码命令,或重建管理员(先备份)
重启服务器后 Dify 没起来 Docker 服务未设开机启动 sudo systemctl enable docker
Git clone 失败 GitHub 网络问题 用 Gitee 导入自己的仓库再 clone

九、边界

Dify 只是应用层,它不提供模型。模型服务没接上,Dify 只能当空壳;模型服务接上了,Dify 才能做知识库、工作流和 Agent。

生产环境还要补 HTTPS、登录与权限、备份、监控和限流。社区版能跑通流程,企业级权限和审计要单独评估。

下一篇

平台有了,下一步给它接一个大语言模型。下一篇在 AutoDL 的 4090 上装 Ollama,跑 qwen3:4b,再通过 SSH 隧道接进 Dify。

下一篇:企业级大模型私有化部署(三):AutoDL + Ollama 部署 qwen3:4b

上一篇:企业级大模型私有化部署(一):RAG、Agent 与三台服务器

赞(0)
未经允许不得转载:AI项目博客 » 企业级大模型私有化部署(二):腾讯云 + Docker 起 Dify

评论 抢沙发

AI项目博客

专注 AI 工程化落地 —— 覆盖智能体、大模型、Java AI 与 Python 的学习笔记,以及 AI 平台的项目实战记录。

关于本站文章归档

登录

找回密码

注册