什么是 Ollama
Ollama 是一个让你在本地轻松运行大型语言模型的工具,支持 macOS、Linux 和 Windows。它封装了模型下载、量化、推理和 API 暴露等复杂过程,一条命令即可启动一个与 OpenAI 兼容的 API 服务。
安装 Ollama
官方安装脚本(推荐)
curl -fsSL https://ollama.com/install.sh | sh
手动安装(备用方案)
从 GitHub Release 下载稳定版本的预编译包。
# 1. 选择一个版本(例如 v0.5.13)或自动获取最新版cd /tmpwget https://github.com/ollama/ollama/releases/download/v0.5.13/ollama-linux-amd64.tgz# 2. 解压tar -xzf ollama-linux-amd64.tgz# 3. 安装到系统路径sudo cp ollama /usr/local/bin/sudo chmod +x /usr/local/bin/ollama
安装后验证
ollama --version
输出版本号即表示安装成功。
配置与优化
修改模型存储路径(防止根分区爆满)
默认模型保存在 ~/.ollama/models(家目录),在根分区较小的服务器上建议更改。
创建一个 systemd 服务挂载信息(或其他方式):
# 1. 创建目标目录(例如 /data/ollama)sudo mkdir -p /data/ollamasudo chown -R $(whoami):$(whoami) /data/ollama# 2. 通过环境变量OLLAMA_HOST指定端口号、OLLAMA_MODELS 指定新路径export OLLAMA_HOST=0.0.0.0:11808export OLLAMA_MODELS=/data/ollama# 若需永久生效,写入 ~/.bashrc 或 ollama 服务文件echo 'export OLLAMA_MODELS=/data/ollama' >> ~/.bashrcsource ~/.bashrc
调整监听地址与端口
Ollama 默认只监听 127.0.0.1:11808,要让局域网或 Cline 远程访问,必须改为 0.0.0.0。
临时生效:
export OLLAMA_HOST=0.0.0.0:11808
永久生效(推荐写入服务文件,见设置开机自启)。
资源限制(可选)
如果只想使用 CPU 推理(无 GPU),Ollama 会自动回退。可通过环境变量控制并发等,一般无需调整。
模型管理
拉取模型
# 基础命令格式ollama pull <模型名称># 示例:拉取 DeepSeek-Coder 1.3B(约2GB)ollama pull deepseek-coder:1.3b# 拉取 6.7B 版本(内存>16GB 可尝试)ollama pull deepseek-coder:6.7b
常用模型名可在 ollama.com/library 查找。
查看已安装模型
ollama list
运行模型(交互模式)
ollama run deepseek-coder:1.3b
进入对话界面,输入 /bye退出。
删除模型
ollama rm deepseek-coder:1.3b
启动与停止服务
前台交互式启动(调试用)
ollama serve
终端会实时打印日志,按 Ctrl+C停止(仅用于临时测试)。
后台服务启动(生产用)
export OLLAMA_HOST=0.0.0.0:11808nohup ollama serve > /var/log/ollama.log 2>&1 &
启动后进程即常驻后台,日志写入 /var/log/ollama.log。
设置开机自启
推荐使用 systemd 服务,以 root 权限创建文件 /etc/systemd/system/ollama.service:
[Unit]Description=Ollama ServiceAfter=network.target[Service]Type=simpleUser=你的用户名Environment="OLLAMA_HOST=0.0.0.0:11808"Environment="OLLAMA_MODELS=/data/ollama" # 可选,自定义模型路径ExecStart=/usr/local/bin/ollama serveRestart=alwaysRestartSec=3[Install]WantedBy=multi-user.target
然后执行:
sudo systemctl daemon-reloadsudo systemctl enable ollamasudo systemctl start ollama
检查状态:
sudo systemctl status ollama
停止服务
测试连通性
本机测试
curl http://localhost:11808/api/tags
应返回已安装模型的 JSON 列表,例如:
{"models":[{"name":"deepseek-coder:1.3b","model":"...","size":...}]}远程测试(防火墙配置)
云服务器安全组:放行 TCP 端口 11808,源地址可暂时设为 0.0.0.0/0(测试后限制为你的 IP)。
服务器内防火墙(如 firewalld):
sudo firewall-cmd --add-port=11808/tcp --permanentsudo firewall-cmd --reload
从本地终端测试远程连接:
curl http://<你的云服务器公网IP>:11808/api/tags
返回与本地测试相同的 JSON 即表示网络链路通畅。
连接 Cline
打开 VS Code 的 Cline 扩展,点击右上角齿轮图标。
修改以下三项:
点击 Done保存。
在 Cline 对话框中发送一句测试文本(如 hello, just say "connected"),收到回复即大功告成。
卸载 Ollama
停止并禁用服务
sudo systemctl stop ollamasudo systemctl disable ollamasudo rm /etc/systemd/system/ollama.service
删除程序与模型文件
# 删除主程序sudo rm /usr/local/bin/ollama# 删除模型存储(默认路径 ~/.ollama,自定义路径如 /data/ollama)rm -rf ~/.ollama# 如果修改过 OLLAMA_MODELS,请手动删除对应目录
清理环境变量
从 ~/.bashrc或 ~/.zshrc中删除与 OLLAMA_HOST、OLLAMA_MODELS相关的行,然后 source更新。
常见问题速查
现象 | 可能原因 / 解决办法 |
|---|
ollama命令未找到 | 安装路径未加入 PATH,手动添加 /usr/local/bin或使用绝对路径。 |
安装脚本报 404 | 网络阻断或脚本链接失效,使用手动安装方式从 GitHub 下载。 |
ollama pull下载速度慢 | 模型存储在 Docker Hub 等,可设置国内镜像源或手动下载 GGUF 文件后用 Modelfile 导入。 |
内存不足、进程被 kill | 降低模型规格(如 6.7B 换 1.3B),或增加 swap,或升级硬件。 |
Cline 连接失败(无法连接) | 检查服务是否启动、监听是否为 0.0.0.0、防火墙和安全组是否放行端口。 |
Cline 连接成功但报模型错误 | 确保 Model ID 与 ollama list中名称严格一致,不要有多余空格。 |
服务启动后仅监听 127.0.0.1 | 必须设置环境变量 OLLAMA_HOST=0.0.0.0:11808并重启服务。 |
预加载模型(解决首次调用超时)
Ollama 在收到第一个推理请求时,会将模型加载到内存,这个过程可能耗费数秒到数十秒,导致 Cline 的 30 秒限制被触发。可以通过“预热”让模型常驻内存。
最快预热方式:启动一个持续运行的交互会话(Ctrl+C 不会卸载模型)
# 在服务器上新建一个终端会话,运行:ollama run deepseek-coder:1.3b
进入对话界面后,输入 /bye退出。这样模型会保留在内存中,直到 Ollama 服务重启。
使用 API 预热(后台执行):
curl http://localhost:11808/api/generate -d '{"model":"deepseek-coder:1.3b","prompt":" "}' &