admin 管理员组文章数量: 1088142
欢迎来到本次实战教程!本教程专为初学者设计,将手把手带你完成一个完整的本地化 AI 应用开发环境搭建。
核心目标是:在你的 Windows 11 专业版 电脑上,通过 虚拟机 (VM) 技术,创建一个 CentOS 9 Stream 服务器环境。在这个虚拟机中,我们将依次安装和配置:
-
Dify: 强大的开源 LLM 应用开发平台。
-
Docker: 作为现代化应用运行的基础容器引擎。
-
Ollama: 便捷的本地大模型运行与管理工具。
-
你的本地大模型: 例如 Llama 3、Qwen 等,并将其服务启动。
-
FinalShell: 用于从 Windows 主机轻松管理和连接虚拟机中的服务。
完成部署后,你将能够通过 FinalShell 连接到虚拟机,启动并管理你的 Dify 服务和 Ollama 托管的本地大模型,在本地安全、高效地探索 AI 应用开发!
一、dify介绍
Dify 是一款开源的大语言模型(LLM) 应用开发平台。它融合了后端即服务(Backend as Service)和 LLMOps 的理念,使开发者可以快速搭建生产级的生成式 AI 应用。即使你是非技术人员,也能参与到 AI 应用的定义和数据运营过程中。
1 、官网:Dify:企业级 Agentic AI 解决方案开发平台
2、云服务:在线体验(速度较慢,有时需要翻墙)https://cloud.dify.ai/signin
3、云服务相关介绍:云服务 - Dify Docs
4、文档 产品简介 - Dify Docs
5、Dify 社区版、专业版和教育版区别(本次安装的为社区版本)
功能维度 | 社区版 | 专业版 | 教育版 |
授权模式 | 开源免费 | 付费订阅 | 免费 / 优惠(需认证) |
模型调用限制 | 有限制(如每月 10,000 次) | 无 / 高配额 | 中等配额(适合教学) |
RAG 知识库 | 基础功能 | 高级检索、多文档处理 | 简化版,支持教学案例 |
工作流设计 | 基础拖拽 | 复杂逻辑编排、多模型协作 | 基础到中等复杂度 |
LLMOps 监控 | 无 | 成本分析、性能优化 | 简化版监控 |
安全与合规 | 基础安全 | 企业级加密、审计日志 | 基础安全 + 教育合规 |
技术支持 | 社区支持 | 官方专属支持 | 教育社区 + 部分官方支持 |
商业使用 | 受限(需符合开源协议) | 允许 | 仅限学术用途 |
二、 VMware Workstation 虚拟环境安装
1、VMware Workstation简介
VMware Workstation 是由 VMware 公司开发的一款功能强大的桌面虚拟化软件。它允许你在 Windows 或 Linux 主机操作系统上创建和运行多个虚拟机(VM),每个虚拟机都可以安装独立的操作系统(如 CentOS, Windows 等)。
-
支持平台: Windows, Linux 主机。
-
Mac 用户注意: VMware 为 macOS 提供了专门的虚拟化软件 VMware Fusion。对于苹果芯片 (M1/M2/M3) Mac 用户,Parallels Desktop 通常是更优的选择(个人建议)。
2 、VMware Workstation 核心特性
-
多系统并行运行无需重启电脑,即可在单一桌面上同时运行 Windows、Linux、DOS 等多种操作系统,轻松切换,极大方便开发、测试和跨平台应用部署。
-
模拟网络环境内置虚拟网络功能,能模拟复杂的网络拓扑(如将多台虚拟机组成局域网),是学习网络协议、搭建测试环境的理想工具。
-
资源隔离与保护每个虚拟机拥有完全隔离的运行环境,保障主机和其他虚拟机安全。同时支持虚拟机间安全互动(如文件共享、网络互通、复制粘贴)。
-
灵活配置与安全实验可随时调整虚拟机硬件配置(CPU、内存、磁盘大小、外设等)。
-
关键特性:快照 (Snapshot) 功能: 创建系统状态的“存档点”,允许随时一键恢复到之前状态,避免测试或配置错误导致的问题,提供安全的“沙盒”实验环境。
3 、获取 VMware Workstation (重要说明)
官方下载渠道: VMware Workstation 软件请通过 VMware 公司官方网站获取。
-
版本与许可说明:VMware Workstation Player: VMware 提供免费的个人学习版 (Workstation Player),功能足以满足本教程需求。强烈推荐初学者使用此免费版本。VMware Workstation Pro: 功能更强大的商业付费版。请注意: VMware Workstation 17.5 及之前的 Pro 版本需要购买商业许可证。较新的 Workstation 17.6 版本开始,VMware 调整了许可模式,个人非商业使用也可以免费使用(请务必在官网查看最新的许可条款)。
4、VMware Workstation安装
5、虚拟机创建
鉴于dify配置最低要求:
-
CPU >= 2 核
-
RAM >= 4 GiB
我们虚拟机选择2核,4-5GB内存。20GB硬盘。
6、安装Centos 9 Stream 系统
CentOS Stream 9 提供了一个免费、稳定、兼容性好且容器支持优秀的 Linux 环境,是我们本地化部署 Dify AI 应用栈的理想基础操作系统。
1. CentOS 是什么?
-
核心定位: CentOS (Community Enterprise Operating System) 是一个免费、开源的操作系统。
-
技术根基: 它基于业界领先的企业级 Linux 发行版 Red Hat Enterprise Linux (RHEL) 的源代码构建。
-
核心价值: 旨在提供稳定、安全、高性能的计算环境,特别适合服务器和工作负载需求。
2. CentOS 9 版本说明(重要!)
-
CentOS 项目的转变: 请注意,传统的 CentOS Linux 项目(目标是完全重建 RHEL 的稳定版本)已经在 2021 年终止。
-
CentOS Stream 成为主流: 现在,“CentOS 9” 通常指的是 CentOS Stream 9。
-
CentOS Stream 的定位:它是 RHEL 的上游(开发预览版)。比 RHEL 更新更快,包含即将进入未来 RHEL 小版本的新功能和更新。滚动发布模式: 采用持续更新的方式,而不是像传统 CentOS Linux 那样的大版本稳定快照。
-
免费易得: 仍然是免费下载和使用的。
-
长期支持: CentOS Stream 9 提供 5 年 的完整支持生命周期(通常到 2027 年 5 月),这对于我们的学习和实验环境完全足够且稳定。
-
前沿兼容性: 能更快获得更新的软件包(如 Docker、容器工具链等),方便部署像 Dify、Ollama 这样的较新应用。
-
企业级基础: 继承了 RHEL 的稳定性和可靠性基因,是学习企业级 Linux 环境的良好起点。
3.CentOS Stream 9 虚拟机将作为我们运行所有 AI 组件(Docker, Dify, Ollama, 本地模型)的坚实底座,因为它:
-
稳定可靠: 基于 RHEL,为服务器负载设计,减少部署过程中的意外崩溃。
-
免费开源: 零成本获取和使用,符合学习实验需求。
-
长期支持: 5 年支持周期确保学习环境在相当长时间内可用。
-
容器友好: 对 Docker 和容器化技术有极佳的原生支持和社区资源,这是部署 Dify 和 Ollama 的关键。
-
资源高效: 作为服务器操作系统,相对轻量,能更有效地利用虚拟机资源来运行大模型。
-
广泛的软件库: 通过 dnf 包管理器可以轻松安装大量必需的工具和依赖。
-
虚拟化支持: 非常适合运行在 VMware Workstation 这样的虚拟机环境中。
4、下载地址:
-
官网:https://mirror.stream.centos/
-
阿里云镜像(速度快):centos-stream-9-stream-BaseOS安装包下载_开源镜像站-阿里云
6、安装如下:
这里磁盘选择20GB,需要点击两次“Done”这个用户名为:root;密码入需要记住后期登录使用,如果你的密码设置很简单,需要点击两次“Done”
这里选择最小化安装,右边的程序可以不选或根据情况选择。
这里的IP地址很重要后面连接服务需要使用这个IP地址。
安装完毕后点击开启虚拟机启动服务
启动后填入用户名、密码。如果忘记了IP地址可以使用“ip addr"命令查看IP地址。
三、远程链接工具-FinalShell
1、FinalShell 是一款免费的国产一体化服务器、网络管理软件,支持 Windows、macOS、Linux 等多个操作系统。它集成了多种功能,是开发者和运维人员常用的工具之一
2、官网下载,根据自己电脑平台FinalShell SSH工具,服务器管理,远程桌面加速软件,支持Windows,macOS,Linux,版本4.6.3,更新日期2025.5.21 - FinalShell官网
3、双击安装。
4、配置用户名、密码、IP
5、首次需要点击同一并保存,进行设置命令如下:
#修改主机名
vi /etc/hostname
reboot
# 永久关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
# 开启root用户远程登录
vi /etc/ssh/sshd_config
PasswordAuthentication yes # 启用密码认证
PermitRootLogin yes # 允许 root 用户通过密码登录
#安装必要软件
yum install wget lrzsz unzip git -y
# 清除缓存
sudo dnf clean all # 清除缓存
sudo dnf makecache # 生成新缓存
四、Docker安装和常用命令
1、Docker是什么:Docker 就像一套标准化“应用集装箱系统”:
-
打包:将 Dify 及其复杂环境封装成轻量镜像 (dify:latest)。
-
运输:从 Docker Hub 一键拉取镜像到你的 CentOS 虚拟机。
-
运行:秒级启动隔离容器,端口一开,浏览器即用!
-
结果:省去 90% 环境配置时间,聚焦 AI 应用开发本身!
2. 为什么部署 Dify 必须用 Docker?
-
环境一致性保障:
-
Dify 依赖复杂的 Python 环境、数据库、网络组件。Docker 一键打包所有依赖,确保你在虚拟机里部署的
-
Dify,和开发者设计的运行环境100%一致,告别配置冲突和依赖地狱!
-
-
极速部署 & 资源节省:
-
传统虚拟机:需安装完整操作系统 (几十GB),启动慢、占资源。
-
Docker 容器:共享主机内核,轻量 (通常几百MB),秒级启动,省下宝贵内存给大模型运行!
-
-
隔离与安全
-
Dify、数据库、Ollama 模型服务可运行在独立容器中,互不干扰,一个组件崩溃不会拖垮整个系统。
-
3. Docker 核心概念 (部署 Dify 必懂)
概念 | 比喻 | 作用 | Dify 部署示例 |
镜像 (Image) | 集装箱的“设计图纸” | 包含应用运行所需的所有内容 | 我们从 Docker Hub 拉取现成的 dify 镜像 |
容器 (Container) | 根据图纸造出的“集装箱” | 镜像的 运行实例 (一个隔离的沙盒环境) | 运行 dify 镜像就启动了一个 Dify 服务容器 |
仓库 (Repository) | 集装箱“仓库码头” | 存储和分享镜像的地方 (如 Docker Hub) | 我们从官方仓库获取镜像,无需自己从头构建 |
4、在 Dify 部署中你会用到的关键 Docker 命令
docker run xx # 运行一个测试容器,验证 Docker 是否安装成功。
docker pull redis # 从 Docker Hub 拉取 redis 镜像。
docker images # 查看本地已有的镜像。
docker ps # 查看正在运行的容器。
docker stop [容器ID] # 停止容器。
docker rm [容器ID] # 删除容器(需先停止容器)。
docker build -t myapp . # 根据当前目录的 Dockerfile 构建名为 myapp 的镜像。
1、 使用命令装docker
2、之前装过docker(我们没有),先卸载再装
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine -y
3、开始真正装(五中方式)--》无论哪种,能装上就行
-5种种,有的可能装不上:原因是:1 使用阿里云源,源失效了 2 使用docker官方源,在国外,链接超时了
# 安装方式一:
# 把docker官方提供的仓库,加入到我们仓库中(需要梯子)
sudo dnf config-manager --add-repo=https://download.docker/linux/centos/docker-ce.repo
# 下载:docker和docker-compose都装好了
sudo dnf install docker-ce docker-ce-cli containerd.io docker-compose-plugin -y
# 或者按这个:
6.1 命令行中敲
bash <(curl -sSL https://gitee/SuperManito/LinuxMirrors/raw/main/ChangeMirrors.sh)
把你的仓库源换成:阿里云
6.2 执行安装
sudo dnf install docker-ce docker-ce-cli containerd.io docker-compose-plugin -y
# 7 验证是否安装成功
docker --version # 如果顺利打印出docker版本,表示装好了
# 8 启动docker
systemctl start docker
# 9 查看docker 运行状态
systemctl status docker
配置国内镜像站下载Docker
# 1 敲 如下命令,进入到文本编辑模型
vi /etc/docker/daemon.json
# 2 按 i 看到 insert
# 3 复制,粘贴
{
"registry-mirrors" : ["https://docker.registry.cyou",
"https://docker-cf.registry.cyou",
"https://dockercf.jsdelivr.fyi",
"https://docker.jsdelivr.fyi",
"https://dockertest.jsdelivr.fyi",
"https://mirror.aliyuncs",
"https://dockerproxy",
"https://mirror.baidubce",
"https://docker.m.daocloud.io",
"https://docker.nju.edu",
"https://docker.mirrors.sjtug.sjtu.edu",
"https://docker.mirrors.ustc.edu",
"https://mirror.iscas.ac",
"https://docker.rainbond",
"https://do.nark.eu",
"https://dc.j8.work",
"https://dockerproxy",
"https://gst6rzl9.mirror.aliyuncs",
"https://registry.docker-cn",
"http://hub-mirror.c.163",
"http://mirrors.ustc.edu/",
"https://mirrors.tuna.tsinghua.edu/",
"http://mirrors.sohu/"
],
"insecure-registries" : [
"registry.docker-cn",
"docker.mirrors.ustc.edu"
],
"debug": true,
"experimental": false
}
# 4 按 esc
# 5 输入 :wq 敲回车 # 保存并退出
# 6 重启,让配置生效
systemctl daemon-reload # 重新加载docker配置
systemctl restart docker # 重启docker
5、Docker 优势
通过容器化技术,让应用程序的部署和运行变得像 “搭积木” 一样简单,极大提升了开发和运维效率。无论是个人开发者、中小型企业还是大型互联网公司(如 字节、京东、亚马逊),都在广泛使用 Docker 构建高效的技术架构
五、Docker-compose安装和常用命令
1、为什么需要 Docker Compose?
Docker Compose 是 Docker 生态中不可或缺的工具,特别适合快速搭建和管理多容器应用。它通过配置文件将复杂的部署流程标准化,大大提高了开发和运维效率。如果你经常需要同时运行多个相关服务(如前后端分离应用、微服务架构),Docker Compose 会是你的得力助手。原生 Docker 是 手动组装零件Docker Compose 是 一键启动智能机器人。 部署 Dify 时需要同时启动:Dify 主服务(Web+API)、PostgreSQL 数据库、Redis 缓存等很多服务。Docker Compose可一键启动所有服务。
2、三大核心优势(针对 Dify 部署)
-
依赖关系自动化:自动按顺序启动服务(先数据库 → 再 Dify),避免启动失败
-
网络互联零配置:容器间通过服务名(如 postgres)直接通信,无需手动配 IP
-
环境版本锁死:YAML 文件精确记录镜像版本,彻底杜绝「上次还能跑」问题
3、常用命令
docker-compose up # 创建并启动所有服务(加 -d 后台运行)
docker-compose down # 停止并删除容器、网络和卷
docker-compose ps # 查看服务状态
docker-compose logs # 查看服务日志
docker-compose build # 构建或重新构建服务镜像
docker-compose exec [服务名] [命令] # 在运行的容器中执行命令(如 exec web bash)
# 自行安装docker compose--好处是可以指定docker compose的版本
# 1 安装方式一(因为是从github下载,如不能翻墙,速度非常慢):
https://github/docker/compose/releases
## 1.1 下载(很慢)
sudo curl -SL "https://github/docker/compose/releases/download/v2.36.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
## 1.2 授予执行权限
chmod +x /usr/local/bin/docker-compose
# 3 安装方式二,本地下载完后,上传到服务器
## 3.1 下载地址(选择自己机器架构的版本)
## 3.2 上传到服务器
## 3.3 移动到位置,授权
mv docker-compose-linux-x86_64 /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose #加执行权限
###### 本地有俩docker compose,这两个都可以用,用那个都行
docker compose # 使用dnf装的
docker-compose # 咱们自己装的 假设名字改成 dc
六、Dify1.4.0下载安装
# 1 dify 服务部署好后,在浏览器中访问部署机器的ip地址,就能看到页面
-本地win机器部署:http://localhost
-centos9:http://192.168.23.131/ # 你们访问不到,只有我能访问到
-云服务器:http://云服务器地址/ # 有公网ip,所有互联网用户都能访问到
# 2 每次关机,关掉虚拟机或关闭win机器--》centos9都会被关闭,下次打开,服务不会自动开启,需要手动开启
-因为服务运行在docker中,dify服务是由好几个服务组成的:数据库服务,web服务,redis,nginx服务,这堆服务必须都正常运行才可以
-docker compose 批量管理这一堆服务,启动或停止
-所以以后,我们使用docker compose的命令来控制 dify服务的启动或停止
-docker compose 是基于docker的,如果docker都没有启动,dify服务自然也就起不来
# 3 以后,一旦我们关机,第二天再重启机器必须按如下步骤操作
-1 打开虚拟机
-2 使用finalshell 链接
-3 来到dify的docker目录下
cd dify-1.4.0/docker/
-4 重启机器后,docker服务没运行--》先启动docker的服务
systemctl start docker # 启动docker服务
systemctl status docker # 查看docker服务
-5 执行 docker compose up
docker compose up -d # 启动dify服务,并在后台运行
-6 查看dify服务是否正常运行 (注意路径:必须dify-1.4.0/docker/)
docker compose ps # 发现有一堆服务,就表示dify是正常的
-7 停止dify -普通停止
docker compose stop # 停止服务,不删除容器
docker compose start # 启动原来停止的dify服务
-8 停止dify -删除容器停止
docker compose down # 停止服务,删除容器--》容器中有数据,一旦删除,数据不能恢复
docker compose up # 新起了一个的dify服务
# 4 后期如果我们想更新dify服务
1 拉取最新的dify源码 1.4.1.zip
2 上传到服务器
3 解压
4 来到docker 目录,复制 .env
5 执行docker compose up 基于最新的代码运行
-之前执行老版本,下载了镜像,镜像是老镜像,老镜像删除,重新拉取新的镜像
- docker compose build # 重新构建镜像
- docker compose up # 运行最新版本了
安装中……需要等很久,请耐心等待!
通过浏览器访问IP地址
恭喜你, 至此Dify 服务器部署完毕。七、服务器部署Ollama
1、ollama是什么:
Ollama 是让开源大模型(如 DeepSeek、通义千问)像手机 APP 一样一键安装、秒级启动的命令行工具。
2、ollama官网:
我们使用ollama来本地的部署deepseek,使用Dify接入我们本地模型-ollama 官方地址:https://ollama
3、为什么部署 Dify 需要它:
当 Dify 需要调用本地大模型时,Ollama 解决两大难题
-
模型部署极简化:
-
传统方式:手动下载权重→配环境→解决依赖→调试→崩溃(平均耗时 5 小时⏳)
-
Ollama 方式:ollama run deepseek → 喝咖啡☕️→ 3 分钟完成部署
-
-
无缝对接 Dify:
-
启动的模型自动提供 类 OpenAI API,Dify 只需填个 URL 即可调用
-
4、五大不可替代的优势(针对本地部署)
优势 | 用户收益 | 部署场景示例 |
模型即软件 | 像安装 App 一样装模型 | ollama pull qwen:7b 下载千问 |
一条命令运行 | 告别复杂编译和环境配置 | ollama run llama3 启动对话 |
隐私安全 | 数据 100% 留在本地,敏感业务无忧 | 企业知识库、医疗数据场景必备 |
资源优化 | 自动调度 GPU/CPU,小显存也能跑 | 消费级显卡流畅运行 7B 模型 |
热切换模型 | 随时切换不同模型无需重启环境 | 白天用 DeepSeek 编码,晚上用 Llama3 创作 |
#################### 部署步骤#############################
# 4 下载安装 ollama(三两种方式) https://github/ollama/ollama/releases
## 方式一:官方脚本安装(如不能翻墙,速度慢) 1个多g从github上下 --》我们不用
curl -fsSL https://ollama/install.sh | sh
## 方式二:自己服务器下载-找到自己机器平台下载(如不能翻墙,速度慢)
1 下载:
wget https://github/ollama/ollama/releases/download/v0.9.0/ollama-linux-arm64.tgz
## 方式三:下载到本地-上传到服务器
1 下载:软件中已经提供
2 上传到服务器
3 移动到位置
mkdir /usr/local/bin/ollama1/ # 在任意路径下执行都可以
# 注意路径:在你家路径, cd
mv ollama-linux-amd64.tgz /usr/local/bin/ollama1/ollama-linux-amd64.tgz
4 解压
cd /usr/local/bin/ollama1
tar -xzvf ollama-linux-amd64.tgz
5 创建软连接--》在任意路径敲ollama 都会有反应
ln -s /usr/local/bin/ollama1/bin/ollama /usr/local/bin/ollama
# 6 测试
ollama --version
# 5 制作成linux 服务 退出文本编辑 :wq
vi /etc/systemd/system/ollama.service
[Unit]
Description=Ollama Service
After=network-online.target
[Service]
ExecStart=/usr/local/bin/ollama serve
User=root
Group=root
Restart=always
RestartSec=3
Environment="PATH=$PATH"
Environment="OLLAMA_MODELS=/home/ollama/models"
Environment="OLLAMA_HOST=0.0.0.0:11434"
[Install]
WantedBy=default.target
退出编辑器: :wq
# 6 启动ollama
# 重新加载服务配置
systemctl daemon-reload
# 开机自启动
systemctl enable ollama
# 立刻启动
systemctl start ollama
# 停止
systemctl stop ollama
# 重启服务
systemctl restart ollama
# 查看状态
systemctl status ollama
# 关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
# 7 浏览器访问
http://你的IP地址:11434/
建议在虚拟机中为ollama单另创建一个虚拟机。
5、ollama部署deepseek等大模型
使用ollama run deepseek-r1:8b #可在ollama官网查看 来启动大模型。【大模型全称 】
首次安装会下载大模型,速度回比较慢,下载好会自动启动大模型。
八、dify对接deepseek等本地大模型
1、登录dify ,点击设置
2、点击模型供应商,选择ollama
3、添加模型
点击保存等待配置完成。
恭喜你获得一个接入本地大模型的Dify,开启的手搓Agent之旅吧……版权声明:本文标题:零基础实战!在 Windows 11 专业版虚拟机中部署 Dify + Ollama + 本地大模型 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://roclinux.cn/b/1753572946a2907603.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论