AB
AiBoss
チュートリアル

Ollama

チュートリアル

Ollama 部署到 VPS 实战教程:从选配到跑通本地大模型

把 Ollama 装到 Linux VPS 上,就能拥有一台随时可用的自建大模型服务。本文从 VPS 规格倒推讲起,覆盖内存与 CPU/GPU 的取舍、安装与 systemd 常驻、模型拉取与 API 调用、Open WebUI 浏览器界面,以及和 Claude Code、Codex 这类开发工具串联的完整流程,并给出可直接复制的命令与一个端到端示例。

Ollama 是一个在自己的机器上运行开放权重模型的工具。它既可以装在本地电脑上,也可以部署到 Linux 服务器或 VPS 上,把推理能力放到一台长期在线的机器里。部署完成后的链路大致是:你的电脑通过 SSH 连上 VPS,VPS 上跑着 Ollama 服务,Ollama 负责加载并运行具体的 AI 模型。这样做的价值在于,你不需要按 API 调用量付费,模型和数据都留在自己的服务器上,同时还能顺带把 Linux、Docker、反向代理这些运维技能练一遍。它适合想低成本试验本地大模型的人、想搭一套自用 AI 编码环境的开发者,以及希望把 AI 服务和 Web 应用、数据库放在同一台机器上的折腾型用户。如果你只是想先了解这个工具本身,可以先看看 Ollama 的条目说明,再决定要不要往下走部署流程。

需要先厘清一个容易混淆的点:模型免费不等于服务器免费。Ollama 能拉取的开放模型里有不少是可以免费使用的,但承载它的 VPS 基本都要按月付费。所以「降低 AI 使用成本」和「把服务器开销压到零」是两个不同的目标,得分开规划。

准备工作

一台满足规格的 Linux VPS

VPS 的规格不该按「越贵越好」来挑,而应该从你想跑的模型倒推。推荐的思考顺序是:先确定要用的模型,再算它需要多少内存,然后看 CPU 或 GPU 的要求,接着估存储空间,最后才去比对各家 VPS 的配置和价格。

几个关键维度:

  • 内存:这是跑模型时最吃紧的资源。模型体积越大,占用的内存越多。除了模型本身的参数量,量化方式、上下文长度、同时使用的人数、以及机器上还跑着哪些别的服务,都会影响实际内存占用。
  • CPU 与 GPU:市面上多数 VPS 是 CPU 为主的配置,所以「能跑 Ollama」和「推理速度快」不是一回事。纯 CPU 推理时,部分模型的出词速度会明显偏慢。如果确实需要高速跑大模型,GPU 机型是候选方案;但如果只是先试试 Ollama,没必要一上来就上昂贵的 GPU 环境,先用小模型验证体验更划算。
  • 存储:模型文件会持续占用磁盘,拉取的模型越多、越大,需要的空间越多,建议留出余量。
  • 其他:如果打算在同一台机器上再跑 Open WebUI、Docker、数据库或 Web 应用,这些服务的内存和磁盘开销都要一并算进去。

选型时常见的比较项包括 CPU、内存、SSD 或 NVMe、GPU、流量额度、机房区域、月费、初装费、备份策略等。这些参数和价格随时会变,下单前请以服务商官网当前公布的信息为准。

系统与访问方式

准备一台常见的 Linux 发行版 VPS,拿到 root 或具备 sudo 权限的账号,并确认可以通过 SSH 登录。后续所有命令都在 SSH 会话里执行。

基础工具

安装脚本通常依赖 curl,部分发行版还需要解压工具。先更新软件源并补齐基础依赖:

sudo apt update
sudo apt install -y curl ca-certificates

如果用的是基于 RPM 的发行版,把 apt 换成对应的包管理器即可。

操作步骤

第一步:安装 Ollama

在 VPS 上执行官方提供的一键安装脚本:

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

脚本会下载对应架构的二进制文件、放置到系统路径,并注册一个 systemd 服务。安装完成后确认服务状态:

systemctl status ollama

如果服务没有自动启动,手动拉起并设为开机自启:

sudo systemctl enable --now ollama

第二步:验证服务与查看版本

确认命令可用、服务在监听:

ollama --version
curl http://127.0.0.1:11434/

默认情况下 Ollama 监听本机的 11434 端口。第二条命令返回内容即表示服务已经跑起来了。

第三步:拉取并运行一个模型

先从体积较小的模型开始,验证整条链路是否通畅:

ollama pull llama3.2
ollama run llama3.2

进入交互界面后直接输入问题即可。退出交互用 /bye,或者按 Ctrl+D。查看本机已经拉取了哪些模型:

ollama list

删除不再需要的模型以释放磁盘:

ollama rm llama3.2

第四步:通过 HTTP API 调用

Ollama 对外提供 REST 接口,方便被其他程序调用。生成接口:

curl http://127.0.0.1:11434/api/generate -d '{
  "model": "llama3.2",
  "prompt": "用一句话解释什么是容器",
  "stream": false
}'

对话接口则接收消息数组,更适合多轮场景:

curl http://127.0.0.1:11434/api/chat -d '{
  "model": "llama3.2",
  "messages": [
    {"role": "user", "content": "你好,介绍一下你自己"}
  ],
  "stream": false
}'

stream 设为 false 时接口会一次性返回完整结果,便于脚本处理;保持默认的流式输出则更适合边生成边显示。列出本地模型的接口是 /api/tags,查看模型详情的接口是 /api/show

第五步:让服务监听外部地址(可选)

默认只监听 127.0.0.1,意味着只有 VPS 本机能访问。如果希望从其他机器调用,需要修改监听地址。编辑 systemd 服务的环境变量:

sudo systemctl edit ollama

在打开的覆盖配置里写入:

[Service]
Environment="OLLAMA_HOST=0.0.0.0:11434"

保存后重载并重启服务:

sudo systemctl daemon-reload
sudo systemctl restart ollama

注意:把端口暴露到公网意味着任何人都可能调用你的模型和算力。更稳妥的做法是保持本机监听,通过 SSH 隧道访问,或者在前面加一层带认证的反向代理,并配合防火墙只放行可信来源。

第六步:用 SSH 隧道安全访问

在自己电脑上执行:

ssh -L 11434:127.0.0.1:11434 用户名@服务器地址

保持这个会话不断开,本地访问 http://127.0.0.1:11434 就会被转发到 VPS 上的 Ollama,无需对外开放端口。

第七步:搭配 Open WebUI 使用浏览器界面

一直用终端交互多少有些不便,可以在同一台 VPS 上再部署一个浏览器聊天界面。典型链路是:浏览器连到 Open WebUI,Open WebUI 再调用本机的 Ollama。用 Docker 启动的示例:

docker run -d -p 3000:8080 \
  --add-host=host.docker.internal:host-gateway \
  -v open-webui:/app/backend/data \
  --name open-webui \
  --restart always \
  ghcr.io/open-webui/open-webui:main

启动后通过浏览器访问 VPS 的 3000 端口即可。容器内访问宿主机的 Ollama 需要用到上面那条 --add-host 参数,否则容器里的 127.0.0.1 指向的是容器自身而不是宿主机。首次进入需要创建管理员账号,具体界面与配置项以项目当前版本为准。

第八步:与开发工具串联

Ollama 不只用于聊天。它也可以作为后端,供 Claude Code、Codex 这类开发工具调用,把 VPS 变成一台既能跑模型、又能写代码的机器。整体结构可以理解为一台 VPS 上同时存在两层:底层是 Linux 加 Ollama 加模型,上层是开发环境加各类编码工具。这样 AI 就不只是「回答问题的东西」,而是开发流程的一部分。

具体接入方式取决于各工具自身的配置项,且这些工具更新频繁,请以它们当前文档说明的配置方法为准。

一个完整示例

下面把前面的步骤串成一条最小可跑通的路径,假设你刚拿到一台全新的 Linux VPS。

1. 登录服务器

ssh root@你的服务器IP

2. 更新系统并安装依赖

apt update && apt install -y curl ca-certificates

3. 安装 Ollama

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

4. 确认服务状态

systemctl status ollama
curl http://127.0.0.1:11434/

5. 拉取一个小模型并试跑

ollama pull llama3.2
ollama run llama3.2

在交互界面里输入「写一个 bash 脚本,统计当前目录下文件数量」,确认能正常返回内容后输入 /bye 退出。

6. 用 API 做一次非流式调用

curl http://127.0.0.1:11434/api/chat -d '{
  "model": "llama3.2",
  "messages": [
    {"role": "user", "content": "把这句话翻译成英文:今天天气不错"}
  ],
  "stream": false
}'

7. 从本地电脑建立隧道

另开一个本地终端:

ssh -L 11434:127.0.0.1:11434 root@你的服务器IP

保持会话开启,然后在本地浏览器或客户端里把接口地址指向 http://127.0.0.1:11434,即可像访问本地服务一样使用 VPS 上的模型。

8. 观察资源占用

free -h
df -h
ollama ps

这三条命令分别查看内存、磁盘和当前已加载的模型。如果内存吃紧,换更小的模型或缩短上下文长度通常是最直接的办法。

注意事项

  • 模型免费不等于服务器免费。开放模型可以免费使用,但 VPS 本身通常需要按月付费,两者要分开预算。
  • 内存是最容易踩的坑。模型越大占用越多,量化方式、上下文长度、并发数量和同机其他服务都会推高实际需求。选 VPS 前先确认目标模型的内存要求。
  • CPU 推理速度有限。多数 VPS 以 CPU 为主,能跑起来不代表响应快。追求速度需要考虑 GPU 机型,但初期建议先用小模型验证需求。
  • 不要随意把 11434 端口暴露到公网。该端口默认无认证,暴露后任何人都能消耗你的算力。优先使用 SSH 隧道或带认证的反向代理。
  • 磁盘会被模型占满。定期用 ollama list 检查已拉取的模型,用 ollama rm 清理不再使用的。
  • VPS 不必只跑 AI。同一台机器上可以同时运行 Ollama、Open WebUI、Docker、Git、Python 和 Web 应用,把它当作一台属于自己的 Linux 环境来用。但每多一个服务,就要多算一份资源。
  • 版本、价格、配额、区域可用性等信息会变动。本文涉及的安装方式与配置项请以 Ollama 及相关项目官网当前公布的信息为准。