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