当前位置: 首页 > news >正文

Ubuntu Ollama 搭建私有大模型部署 垂直投喂RAG

现阶段各大厂商免费模型已成熟,可以接入着手研究大模型应用。轮子都造好了我们就拿来用了。但是个人要对于大模型学习使用成本小高,那么我们先从基础走起。

PS:我用的是用户安装,这个会有坑安装用root用户能规避一些问题。

一、环境与硬件配置

基础部署(仅RAG/推理):4核CPU、8G内存、无显卡也可运行

操作系统:Ubuntu 20.04 / 22.04 / 24.04(推荐22.04 LTS)

运行方式:全程离线私有化部署,数据不出服务器

网络:内网部署,可配置端口放行,支持局域网访问

二、前期初始化

# 更新系统
sudo apt update && sudo apt upgrade -y
# 安装基础依赖
sudo apt install -y curl wget git vim python3-pip python3-venv build-essential
# 开启开机自启依赖
sudo apt install -y systemd=
# 清理无用依赖
sudo apt autoremove -y

三、安装 Docker + Compose

# 官方一键脚本(Ubuntu 22.04/24.04)
curl -fsSL https://get.docker.com | sudo sh

# 当前用户加入 docker 组
sudo usermod -aG docker $USER
newgrp docker

# 验证(需 compose ≥ 2.24.0,Dify 硬性要求)
docker --version
docker compose version

如果curl -fsSL https://get.docker.com | sudo sh安装不上切换国内镜像

先确认是不是只有「只有 Docker 官方源有问题」

# 基础网络

ping -c 3 8.8.8.8

ping -c 3 baidu.com

# 对比测试

curl -I https://www.baidu.com

curl -I https://get.docker.com

curl -v https://get.docker.com 2>&1 | tail -20

  • baidu.com正常、get.docker.com失败 → 用国内镜像装 Docker(推荐)
  • 若所有 HTTPS 都失败 → 检查 VM 网络模式、DNS、代理
  • ping 8.8.8.8都不通 → VM 网络本身有问题(NAT/桥接/网关)

# 1) 安装依赖
sudo apt update
sudo apt install -y ca-certificates curl gnupg lsb-release

# 2) 添加 Docker GPG(阿里云镜像)
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg

# 3) 添加 Docker apt 源(按你的 Ubuntu 版本选一个)
# Ubuntu 22.04:
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://mirrors.aliyun.com/docker-ce/linux/ubuntu jammy stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

注意:# Ubuntu 24.04 把 jammy 改成 noble:

echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://mirrors.aliyun.com/docker-ce/linux/ubuntu noble stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

# 4) 安装
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

# 5) 验证
docker --version
docker compose version # 需要 >= 2.24.0

若阿里云 GPG 也curl (35),可换清华源:

curl -fsSL https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

# 22.04 示例
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/ubuntu jammy stable" | sudo tee /etc/apt/sources.list.d/docker.list

同样注意:# Ubuntu 24.04 把 jammy 改成 noble:

echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/ubuntu noble stable" | sudo tee /etc/apt/sources.list.d/docker.list

成功:

装完 Docker 后还要配镜像加速

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<EOF
{
"registry-mirrors": [
"https://docker.1ms.run",
"https://docker.m.daocloud.io"
]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

若 docker compose version < 2.24.0,升级 compose 插件:

sudo apt install -y docker-compose-plugin

四、Ollama 服务部署(核心推理引擎)

一键安装ollama

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

非常慢

如果网络不行就需要使用魔法下载

Releases · ollama/ollama · GitHub

选择相应版本

传入到Ubuntu以后解压

安装zstd

sudo apt update

sudo apt install zstd -y

1、解压tar两种解压方式我使用的是第一种zstd解压管道给tar

1、zstd 解压管道给 tar(推荐,不生成中间文件)

zstd -d -c ollama-linux-amd64.tar.zst | sudo tar -xvf - -C /

  • -c:输出到 stdout 管道
  • -C /:直接把二进制释放到根目录,会把ollama二进制放到/usr/local/bin/,服务文件放到/etc/systemd/system/ollama.service,和官方脚本安装路径完全一致
2、先解压出 tar 文件,再 tar 解包

zstd -d ollama-linux-amd64.tar.zst

# 得到 ollama-linux-amd64.tar

sudo tar -xvf ollama-linux-amd64.tar -C /

2、注册 systemd 服务、启动 ollama

解压完成后,systemd 单元文件已经释放到/etc/systemd/system/ollama.service

# 重载systemd识别新服务

sudo systemctl daemon-reload

# 设置开机自启并启动

sudo systemctl enable --now ollama

# 查看运行状态

sudo systemctl status ollama

如果运行状态不对

校验文件完整性

ls -lh /usr/local/bin/ollama

正常二进制大小约140M 左右。如果只有几 MB,说明压缩包下载残缺,必须重新下载。

删除损坏版本

sudo systemctl stop ollama

sudo systemctl disable ollama

sudo rm -rf /usr/local/bin/ollama /usr/local/lib/ollama

rm -f ~/ollama-linux-amd64.tgz

我这里又重新下载了

这里看有38M

sudo nano /etc/systemd/system/ollama.service

重新解压以后ollama 安装在?/bin/ollama目录下面

/bin/ollama serve

curl http://127.0.0.1:11434/api/tags

输出结果可以看到已经集成了千问模型 qwen3.5:4b

还可以换小模型

#小对话模型

ollama pull qwen2:0.5b

# Embedding 多语言含中文

ollama pull bge-m3

对话模型:qwen2.5:1.8b
向量嵌入模型:bge‑small‑zh
模型参数:温度0.1‑0.2
知识库切片大小建议:600token,重叠 100,不要给小模型塞太长上下文。

测试一下是否成功

ollama run qwen2.5:1.8b

curl http://127.0.0.1:11434/api/embeddings -d '{ "model":"bge-small-zh", "prompt":"测试RAG文档" }'

切换root用户

sudo -i

如果本机可以访问外网不可以访问 修改 ollama systemd 配置,允许外网 / 局域网访问

vi /etc/systemd/system/ollama.service

[Service]段添加环境变量:

[Service]

Environment="OLLAMA_HOST=0.0.0.0:11434" Environment="OLLAMA_HTTP_CLIENT_FORCE_HTTP1=true"

保存退出,重载 systemd 并重启 ollama

systemctl daemon-reload

systemctl restart ollama

3、如果不行可以安装docker ollama

# 如果没装docker,先安装docker
curl -fsSL https://get.docker.com | sh
sudo systemctl enable --now docker

# 启动ollama容器,持久化模型数据,端口11434对外
docker run -d \
--name ollama \
--restart always \
-p 11434:11434 \
-v ollama_data:/root/.ollama \
ollama/ollama

测试是否成功

curl http://127.0.0.1:11434/api/tags

返回带json串就成功

容器内使用 ollama 命令示例

# 拉取模型

docker exec -it ollama ollama pull qwen3.5:4b

# 运行对话

docker exec -it ollama ollama run qwen3.5:4b

环境变量 OLLAMA_HOST=0.0.0.0 在官方 docker 镜像内部已经默认开启,外部机器可以访问 11434。

五、部署 Dify

# 1) 克隆固定版本(避免漂移)
cd ~
git clone https://github.com/langgenius/dify.git --branch 1.7.1 --depth 1

如果上面的不行用

git clone --branch 1.7.1 --depth 1 https://mirror.ghproxy.com/https://github.com/langgenius/dify.git

再不行用

git clone --branch 1.7.1 --depth 1 https://gh-proxy.com/https://github.com/langgenius/dify.git

如果都不行用最后方案 下载压缩包解压

--------------------------------------------------------------------------------------------------------------------------------

wget https://mirror.ghproxy.com/https://github.com/langgenius/dify/archive/refs/tags/v1.7.1.zip -O dify-v1.7.1.zip

unzip dify-v1.7.1.zip

mv dify-1.7.1 dify

--------------------------------------------------------------------------------------------------------------------------------
cd dify/docker

ls
cp .env.example .env

# 2) 拉取并启动
docker compose pull

拉取镜像
sudo chown -R 1000:1000 ./volumes # 避免 plugin_daemon 权限问题

启动镜像 -d是后台启动
docker compose up -d

# 3) 检查状态
docker compose ps # 全部 Up / healthy

.env调整(在线 VM 可选)

EXPOSE_NGINX_PORT=80
# 内网部署可关闭遥测(可选)
# SENTRY_DSN=

这样基本就配置完毕,然后就是进入dify设置。刚开始让输入用户名密码等用户基本设置。设置完的界面这样。剩下的就开始配置咱们的LLM 了。

点击右上角的头像。我的是K那个蓝色的。然后点击设置。

在模型供应商里面找到ollama安装。

http://www.cnnetsun.cn/news/4039782.html

相关文章:

  • 【leetcode复健-9】239. 滑动窗口最大值-滑动窗口-队列
  • Dify 中级实验(09):HTTP 节点进阶——如何搞定认证、分页与错误重试?
  • Windows任务栏透明化神器TranslucentTB:从零到一打造沉浸式桌面
  • 抖音批量下载实战:一个晚上,我收下了整个博主的主页
  • 2010-2025年工业互联网试点示范项目企业数据
  • Obsidian多设备同步方案:Git与坚果云混合实践
  • 如何用Umi-OCR免费离线OCR快速提取文字:从截图识别到批量文档处理的完整指南
  • 大模型健康度监测:从基础设施到认知层的全链路运维实践
  • Obsidian PDF标注效率翻倍:PDF++安装到进阶
  • 阿里巴巴对话交互面试,LLM指令解析光看还不够还得摸得准
  • 麒麟系统密码重置:GRUB引导与救援模式实战指南
  • Windows黑屏仅鼠标能动?从原理到实战的完整修复指南
  • MemeSense连跳狂暴完全版插件深度解析:支持自定义命名、俯仰切换与旋转链式逻辑
  • 无人机视角航拍水葫芦检测数据集VOC+YOLO格式1417张1类别
  • 【爱马仕】Hermes Agent 本地环境搭建,Windows 轻量化整合包使用教程
  • Horos 开源医学影像软件实战指南:macOS 上零门槛玩转 DICOM 查看与 3D 影像重建
  • SMUDebugTool 完整上手攻略:AMD Ryzen 平台的参数读写、调试与性能调优实战
  • Draw.io Mermaid插件完整使用指南:三步让文本秒变专业图表
  • 二叉树与哈夫曼树:从核心原理到工程实践详解
  • Python pyshp库实战:Shapefile文件读写与GIS数据处理全解析
  • Multi-Agent系统核心协作模式与工程实践全解析
  • YimMenu怎么用?GTA5防崩溃增强菜单从零到会的实战教程
  • YOLOv8 分类任务实战|全网完整复现聚合物绝缘子上卸扣腐蚀二分类、均衡 1546 张数据集精细化调参、助力电网金具锈蚀智能巡检高效涨点
  • Nginx模块开发:ngx_create_paths函数详解与应用实践
  • 从零搭建个人网站:HTML/CSS/JS实战指南与响应式设计
  • SQL Server存储过程优化
  • DVT for Eclipse:提升大型Java项目开发效率的代码分析引擎
  • ECharts DataZoom组件深度配置:从滑块定位到缩放范围限制
  • JDK 9+为何不再内置JRE?从模块化原理到实战解决方案
  • LeetCode 每日一题 2026/8/10-2026/8/16