admin 管理员组

文章数量: 1088142

欢迎来到本次实战教程!本教程专为初学者设计,将手把手带你完成一个完整的本地化 AI 应用开发环境搭建。

核心目标是:在你的 Windows 11 专业版 电脑上,通过 虚拟机 (VM) 技术,创建一个 CentOS 9 Stream 服务器环境。在这个虚拟机中,我们将依次安装和配置:

  1. Dify: 强大的开源 LLM 应用开发平台。

  2. Docker: 作为现代化应用运行的基础容器引擎。

  3. Ollama: 便捷的本地大模型运行与管理工具。

  4. 你的本地大模型: 例如 Llama 3、Qwen 等,并将其服务启动。

  5. 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之旅吧……

本文标签: 专业版 地大 实战 机中 模型