
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 及相关项目官网当前公布的信息为准。