Dify本地部署教程:虚拟机+宝塔面板零基础搭建指南

什么是Dify?为什么值得本地部署
Dify是一款开源的大语言模型(LLM)应用开发平台,融合了后端即服务(BaaS)和LLMOps的理念,让开发者能够快速搭建生产级的生成式AI应用。即便你是非技术人员,也可以参与到AI应用的定义和数据运营中。
所谓后端即服务(BaaS),是一种云计算服务模式,它将服务器端的基础设施(如数据库、用户认证、文件存储等)封装为现成的API,开发者无需自行搭建和维护后端服务器。而LLMOps则是借鉴MLOps理念,专门针对大语言模型应用全生命周期管理而提出的概念,涵盖模型选择、提示词工程、评估、监控、成本控制等环节。Dify将这两者结合,意味着它既提供了开箱即用的后端能力,又内置了管理LLM应用从开发到上线全流程的工具链。

Dify内置了构建LLM应用所需的关键技术栈,支持数百个模型的接入,包括国内的文心一言、豆包、智谱、百川、星火、通义千问,以及国外的OpenAI、Gemini、Claude等主流大模型。它提供直观的提示词编排界面和高质量的RAG引擎(外挂知识库),大幅减少了从零开发的时间成本。
RAG(Retrieval-Augmented Generation,检索增强生成)是当前解决大模型「幻觉」问题和知识时效性问题的主流技术方案。其核心原理是:在用户提问时,先从外部知识库中检索与问题相关的文档片段,然后将这些片段作为上下文连同用户问题一起送入大模型,让模型基于真实数据生成回答。Dify内置的RAG引擎支持多种文档格式的导入、自动分块、向量化存储和语义检索,用户只需上传文档即可构建专属知识库,无需理解底层的Embedding模型和向量数据库技术细节。
与LangChain这类开发库相比,如果说LangChain是一个工具箱,那Dify就是一套完整的脚手架——它不仅提供工具,还经过了工程设计和软件测试,更接近生产环境所需的完整方案。LangChain是一个Python/JavaScript开发框架,提供了与LLM交互的各种组件(如链式调用、记忆管理、工具调用等),开发者需要自行编写代码将这些组件组装成应用,并自行处理部署、监控等工程问题。而Dify内置了可视化编排界面、用户管理、API网关、日志监控等生产级功能,开发者甚至可以通过拖拽方式完成应用构建。两者并非替代关系——对于需要高度定制化的场景,LangChain更合适;对于快速验证想法或中小规模生产部署,Dify的效率优势明显。更重要的是,Dify完全开源免费,开发者可以在此基础上自由扩展。
本教程的整体架构
本教程覆盖Dify从本地部署到应用发布的完整流程,共分为七个部分:
- 认识Dify — 了解平台定位和能力边界
- 本地部署 — 搭建运行环境(本文重点)
- 构建AI应用 — 创建智能聊天机器人、Agent智能体
- 工具使用 — 为AI应用配置和调用外部工具
- 工作流设计 — 针对特定场景设计自动化执行流程
- 知识库挂载 — 外挂企业产品数据作为RAG知识源
- 应用发布 — 发布为Web站点或通过API内嵌到现有系统
本地部署环境准备
安装VMware虚拟机
本教程选择通过宝塔面板进行Dify部署,这是综合多种方式后对新手最友好的方案。首先需要准备两个软件:
- VMware Workstation(或VMware Player)— 用于运行Linux系统的虚拟机软件
- Ubuntu 22.04 ISO镜像 — Linux操作系统安装文件
VMware Workstation是一款桌面级虚拟化软件,它通过Hypervisor(虚拟机监控程序)技术在物理主机上创建隔离的虚拟硬件环境,允许在一台电脑上同时运行多个操作系统。每个虚拟机拥有独立的CPU、内存、硬盘和网络资源分配,彼此互不干扰。本教程选择在虚拟机中部署而非直接在Windows上操作,主要有三个考虑:一是Dify的Docker部署在Linux环境下更稳定且文档支持更完善;二是虚拟机提供了沙箱隔离,即使操作失误也不会影响主机系统;三是虚拟机可以随时快照、克隆和迁移,便于备份和恢复。
安装VMware时需注意:不要安装到C盘,因为虚拟机运行时会产生大量缓存文件,容易占满系统盘空间。安装完成后桌面会出现VMware的图标。
创建并安装Ubuntu系统
打开VMware后,按以下步骤创建虚拟机:
- 点击「创建新虚拟机」
- 选择「稍后安装操作系统」
- 系统类型选择Linux,版本选Ubuntu 64位
- 设置虚拟机名称和存储位置(同样避免C盘)
- 磁盘大小分配20GB即可(仅用于Dify部署的情况下)
- 选择「拆分为多个文件」,点击完成
创建完成后,需要挂载Ubuntu ISO镜像:进入虚拟机设置 → CD/DVD → 选择「使用ISO镜像文件」→ 浏览选择下载好的Ubuntu 22.04 ISO文件。
启动虚拟机后选择「Try or Install Ubuntu」,在安装界面中选择简体中文,然后选择「最小安装」(如果仅用于Dify部署)。安装过程中设置用户名和密码(建议设置简单密码如123456,并勾选自动登录)。安装完成后重启,移除光盘镜像即可。
宝塔面板安装与配置
安装宝塔Linux面板
宝塔面板(BT Panel)是国内广泛使用的服务器运维管理工具,它将Linux系统管理中常见的操作(如安装软件、配置防火墙、管理网站、查看日志、监控资源等)封装为Web图形界面。对于不熟悉Linux命令行的用户来说,宝塔面板极大降低了服务器管理的门槛。在本教程的技术栈中,宝塔面板主要承担两个职责:一是提供Docker的一键安装和可视化管理界面;二是提供Dify的一键部署模板,自动处理Docker Compose编排文件的下载和容器启动,将原本需要十几步命令行操作的部署过程简化为几次鼠标点击。
在Ubuntu系统中,通过快捷键 Ctrl+Alt+T 打开终端,然后执行从宝塔官网复制的安装命令。具体操作路径:访问宝塔官网 → 产品 → 宝塔Linux面板 → 安装免费版 → 选择Ubuntu系统 → 复制安装命令。
在终端中粘贴命令并回车,输入系统密码(输入时不可见,这是Linux的正常现象),确认安装到默认目录后等待安装完成。
安装完成后,终端会显示面板登录信息,包括内网地址、用户名和密码。由于是本地部署,直接使用内网地址访问即可。
优化宝塔面板配置
安装完成后建议修改以下配置,方便日常管理使用:
- 端口号:默认端口较难记忆,可改为8899等易记端口
- 用户名和密码:通过终端运行
bt命令进入宝塔管理工具修改 - 安全入口:将默认的随机字符串改为简短易记的路径如
/backend
修改完成后,通过 http://192.168.x.x:8899/backend 即可访问宝塔面板。
通过Docker部署Dify
安装Docker环境
在宝塔面板左侧菜单找到「Docker」模块,点击安装,选择默认安装方式等待完成即可。
Docker是一种操作系统级虚拟化技术,它将应用程序及其所有依赖(运行时环境、系统库、配置文件等)打包成一个标准化的「容器」镜像。与传统虚拟机不同,Docker容器共享宿主机的操作系统内核,因此启动速度快(秒级)、资源占用少。Dify采用Docker Compose进行部署,这意味着它将多个服务(如Web前端、API后端、数据库PostgreSQL、缓存Redis、向量数据库Weaviate等)分别封装为独立容器,通过编排文件定义它们之间的网络通信和依赖关系。这种微服务架构确保了各组件可以独立升级和扩展,也避免了「在我电脑上能跑」的环境不一致问题。
拉取并安装Dify
Docker安装完成后,在Docker模块中搜索「Dify」,点击安装。如果遇到镜像拉取失败的问题,通常是网络原因导致,可以尝试以下两种解决方案:
方案一:修改DNS配置
在虚拟机终端中执行:
sudo nano /etc/resolv.conf
将 nameserver 修改为:
nameserver 8.8.8.8
nameserver 8.8.4.4
保存后重启宝塔面板。
这里使用的8.8.8.8和8.8.4.4是Google提供的公共DNS服务器地址。DNS(域名系统)负责将域名解析为IP地址,当默认DNS服务器无法正确解析Docker镜像仓库的地址时,切换到更稳定的公共DNS通常能解决连接问题。
方案二:配置Docker镜像加速
在Docker设置中添加镜像加速URL,宝塔帮助文档中提供了多个可用的加速链接,逐一尝试添加后重启Docker服务即可。Docker镜像加速的原理是通过国内的镜像代理服务器缓存和转发Docker Hub上的镜像,避免直接访问海外服务器带来的网络延迟和连接失败问题。
完成Dify部署并初始化
安装成功后,Dify会进入运行状态。将访问地址中的HTTPS改为HTTP,端口改为8088,末尾加上 /install 即可进入Dify的初始化安装界面。设置管理员邮箱和用户名后,Dify本地部署就全部完成了。
总结:零基础也能完成Dify本地部署
通过 VMware + Ubuntu + 宝塔面板 + Docker 的组合方案,即使是没有Linux运维经验的用户也能顺利完成Dify的本地部署。这种部署方式的核心优势在于:
- 图形化操作为主,命令行操作极少
- 宝塔面板提供了直观的服务器管理界面
- Docker容器化部署保证了环境隔离和一致性
部署完成后,接下来就可以开始构建AI应用、配置Agent智能体、设计工作流、挂载RAG知识库,最终将应用发布为Web站点或通过API集成到现有业务系统中。
核心要点
相关推荐
AI时代程序员生存指南:从代码生产者到AI指挥者的转型路径
AI时代程序员生存指南:从代码生产者到AI指挥者的转型路径
深度解析AI编程对传统程序员的冲击,详解Vibe Coding趋势、FDE前线部署工程师新岗位机会,以及开发者如何通过业务理解和架构思维实现职业转型。
AI时代IT行业五层金字塔:找准层次决定职业天花板
AI时代IT行业五层金字塔:找准层次决定职业天花板
AI正在重塑IT职业格局,从工具运用到自研大模型,IT行业形成五个清晰层次。本文详解AI工作岗位的五层金字塔结构,分析各层次的技术门槛、学习成本与职业前景,帮助IT从业者找准定位、把握红利窗口。
AI编程时代程序员会被替代吗?制造业与互联网差异深度解析
AI编程时代程序员会被替代吗?制造业与互联网差异深度解析
AI编程工具Claude Code、Codex崛起,程序员真的会被替代吗?本文从互联网与制造业两大行业切入,分析不同赛道程序员的替代风险,并给出AI时代程序员转型与入行的实用建议。