在 VPS 上部署 Ollama 运行本地大模型
本地跑大模型这事,听起来高大上,其实门槛已经很低了。一台 4 核 8G 的 VPS 就能跑小模型,效果不比 ChatGPT 差多少。
我这台 VPS 跑了 qwen3.5:9b,响应速度比调用远程 API 快,还不担心数据隐私。
为什么本地部署
成本考量
调用 OpenAI API 便宜,但:
- 网络延迟不可控
- 某些敏感内容会被拒
- 数据要经过第三方
本地部署后:
- 响应快 — 局域网延迟几毫秒
- 隐私安全 — 数据不出服务器
- 无限调用 — 不受 API 配额限制
适合的场景
- 文章润色、摘要、翻译
- 代码审查、注释生成
- 客服机器人、知识库问答
- 批量处理文本(不用排队等 API)
不适合:需要最新知识、超级复杂推理、多模态(目前本地跑不动图生图)。
硬件要求
| 型号 | 内存 | 磁盘 | 能跑什么 |
|------|------|------|----------|
| qwen3.5:0.8b | 2GB | 1GB | 简单对话 |
| qwen3.5:4b | 4GB | 4GB | 中等任务 |
| qwen3.5:9b | 8GB | 6GB | 编程+写作 |
| qwen3.5:14b | 16GB | 10GB | 复杂推理 |
我的是 KVM 8GB 内存,跑 9b 刚好。再开其他容器时会有压力,建议非高峰期单独跑。
Docker 部署
version: "3.8"
services:
ollama:
image: ollama/ollama:latest
container_name: ollama
restart: unless-stopped
ports:
- "11434:11434"
volumes:
- ./ollama-data:/root/.ollama
environment:
- OLLAMA_HOST=0.0.0.0
networks:
- app
networks:
app:
driver: bridge
docker compose up -d
拉取模型
容器启动后,进容器拉模型:
docker exec -it ollama ollama pull qwen3.5:9b
第一次拉取要几分钟,模型文件 6GB 左右。
API 调用
部署好就能当 API 用:
curl http://127.0.0.1:11434/api/chat -d '{
"model": "qwen3.5:9b",
"messages": [{"role": "user", "content": "用一句话介绍你自己"}],
"stream": false
}'
返回:
{
"message": {
"role": "assistant",
"content": "你好!我是通义千问 Qwen3.5,一个由阿里云开发的 AI 助手..."
},
"done": true
}
对接 OpenWebUI
命令行不够友好,装个 Web UI:
services:
openwebui:
image: ghcr.io/open-webui/open-webui:main
container_name: openwebui
restart: unless-stopped
ports:
- "3000:8080"
environment:
- OLLAMA_BASE_URL=http://ollama:11434
volumes:
- ./webui-data:/app/backend/data
depends_on:
- ollama
networks:
- app
访问 http://IP:3000 就能用网页聊天了。
资源限制(重要)
9b 模型一跑就是 6-8GB 内存,不限制的话会影响其他服务:
deploy:
resources:
limits:
memory: 6G
reservations:
memory: 4G
实测 6GB 限制下响应速度会有影响,但不会 OOM。
踩坑记录
坑 1:GPU 不可用
我这是纯 CPU 推理,没 CUDA。Ollama 自动Fallback 到 CPU,速度比 GPU 慢但能跑。
如果你是 GPU 方案,加:
environment:
- CUDA_VISIBLE_DEVICES=0
坑 2:模型下载不动
国内拉取海外模型很慢。用阿里云的镜像:
mirror set models https://mirrors.aliyun.com/models
坑 3:内存不够被 OOM Kill
之前没加 limits,9b 一加载就把内存吃满,Linux 杀其他容器。后来加了 swap + 内存限制,稳定多了。
坑 4:API 超时
默认超时太短,大模型生成慢会超时。curl 加 --max-time 300。
实际应用
我现在用 Ollama 做什么:
1. 写博客 — 帮我润色文章大纲和段落
2. 代码审查 — 提交前让模型过一遍,提建议
3. 翻译 — 英译中比 Google 翻译自然
4. 定时任务 — 每天早上自动生成行业摘要
总结
Ollama 让本地跑大模型变成"拉个镜像"那么简单。
- 成本:一台 8GB VPS 就能跑
- 速度:局域网延迟几毫秒
- 用途:写作、编程、客服、自动化
唯一要注意的就是内存。8GB 跑 9b 刚好,16GB 以上可以考虑 14b 或 32b。
Nginx/OpenResty 部署Ollama运行本地大模型
本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。
评论交流
欢迎留下你的想法