前言:本文记录在CentOS 7+ / Ubuntu 20.04+上部署Ollama的实操笔记,覆盖一键在线安装与离线 tar 包安装两种方式,并补充systemd 开机自启、qwen2 / deepseek-r1 等模型拉取与对话、局域网远程 API 访问及常见排错要点。适合在 Linux 服务器或虚拟机上本地跑大模型、为 Python/AI 应用提供推理服务、或内网/弱网环境需要离线部署的读者。按文操作即可完成安装、启服、拉模型,并按需开放 11434 端口供其他机器调用。
一、环境准备
- 系统:CentOS7+ / Ubuntu20.04+(64 位)
- 权限:root 或 sudo 权限
- 硬件:内存 ≥8GB(7B 模型推荐 16GB),磁盘 ≥20GB(存模型)
- 网络:联网(在线安装);离线需提前下载安装包
二、两种安装方式
方式 1:一键在线安装
https://ollama.com/
# 官方脚本(自动下载+解压+配置服务)curl-fsSLhttps://ollama.com/install.sh|sh# 验证安装(输出版本即成功)ollama--version# 示例:ollama version is 0.5.12方式 2:手动离线安装(网络差时用)
下载离线包(官网 / 网盘):
https://ollama.com/download/ollama-linux-amd64.tgz
上传到 Linux(如/root/install_package),执行:
# 解压到 /usr(系统目录,全局可用)tar-zxvfollama-linux-amd64.tgz-C/usr/# 验证ollama-v三、配置开机自启(必做)
创建系统服务文件/etc/systemd/system/ollama.service:
vi/etc/systemd/system/ollama.service写入内容:
[Unit] Description=Ollama Service After=network-online.target [Service] ExecStart=/usr/bin/ollama serve User=root Group=root Restart=always RestartSec=3 [Install] WantedBy=default.target生效并设置开机自启:
# 重载服务配置systemctl daemon-reload# 开机自启systemctlenableollama# 启动服务systemctl start ollama# 查看状态(显示 active 即正常)systemctl status ollama四、拉取并运行模型(以 qwen2、deepseek-r1 为例)
1. 拉取模型(自动下载,约 300MB–1GB)
# 通义千问 qwen2:0.5b(轻量)ollama pull qwen2:0.5b# DeepSeek 推理模型 deepseek-r1:1.5bollama pull deepseek-r1:1.5b2. 运行模型(对话交互)
# 运行 qwen2ollama run qwen2:0.5b# 运行 deepseek-r1ollama run deepseek-r1:1.5b输入问题直接对话,输入/bye退出。
五、开通远程访问(可选,局域网 / 外部调用)
1. 配置环境变量(允许所有 IP 访问)
编辑/etc/profile:
vi/etc/profile添加:
exportOLLAMA_HOST=0.0.0.0:11434exportOLLAMA_ORIGINS=*生效:
source/etc/profile2. 修改服务文件(添加环境变量)
vi/etc/systemd/system/ollama.service在[Service]下添加 2 行:
Environment="OLLAMA_HOST=0.0.0.0:11434" Environment="OLLAMA_ORIGINS=*"3. 重启服务 + 放行端口
# 重载+重启systemctl daemon-reload systemctl restart ollama# 放行11434端口(防火墙)firewall-cmd--zone=public --add-port=11434/tcp--permanentfirewall-cmd--reload# 或直接关闭防火墙(测试环境)systemctl stop firewalld systemctl disable firewalld4. 测试远程访问
在另一台机器(Windows/macOS)终端执行:
curlhttp://Linux虚拟机IP:11434/api/generate-d'{"model":"qwen2:0.5b","prompt":"你好"}'返回结果即成功。
六、Ollama 避坑指南(Linux + Windows)
一、安装类问题
1)Linux:ollama: command not found
原因:解压没放到/usr/bin,或没刷新环境
解决:
# 确认文件存在ls/usr/bin/ollama# 重新解压(离线包)tar-zxvfollama-linux-amd64.tgz-C/usr/# 重载环境source/etc/profile2)Linux:一键安装卡住、很慢
原因:国外源,网络差
解决:改用离线安装(文档里那个 tgz 包),速度稳定。
3)Windows:安装后命令不存在
原因:没加到 PATH
解决:重启终端;或把C:\Program Files\Ollama手动加到系统 PATH。
二、服务启动类问题
4)Linux:systemctl start ollama 失败
常见:配置文件写错、端口占用、权限不对
排查:
# 看报错journalctl-uollama# 端口是否被占netstat-tuln|grep11434注意:ollama.service里路径必须是/usr/bin/ollama,别写错。
5)Windows:托盘没羊驼图标、服务没起来
解决:管理员运行一次ollama run qwen2:0.5b,看具体报错;必要时重装。
三、模型下载 / 运行坑
6)pull 模型很慢、一直卡
原因:国外服务器
解决:
- 耐心等;
- 或者先在网络好的机器下好,把
.ollama/models目录直接拷过去。
7)运行模型报错:out of memory / 卡死
原因:内存不够(qwen2:0.5b≈350MB,7B 模型至少 10G+)
避坑:虚拟机至少 8G 内存、2–4 核;新手先用 0.5b/1.5b 小模型。
8)运行模型时:一直拉 manifest、没反应
解决:网络不稳,换网络或离线导入模型。
四、远程访问坑(最常见)
9)虚拟机里开了 0.0.0.0,外部还是连不上
90% 原因:防火墙没关 / 没放行端口
Linux 快速解决(二选一):
# 放行端口firewall-cmd --add-port=11434/tcp--permanentfirewall-cmd--reload# 或直接关防火墙(测试环境)systemctl stop firewalld systemctl disable firewalld10)改了 OLLAMA_HOST 还是不能远程
必做:改两处
1)/etc/profile:
exportOLLAMA_HOST=0.0.0.0:11434exportOLLAMA_ORIGINS=*2)ollama.service的[Service]里:
Environment="OLLAMA_HOST=0.0.0.0:11434" Environment="OLLAMA_ORIGINS=*"然后:
source/etc/profile systemctl daemon-reload systemctl restart ollama11)Windows 访问虚拟机 11434 超时
检查:
- 虚拟机 IP 是否能 ping 通;
- 虚拟机防火墙是否放行;
curl http://虚拟机IP:11434是否返回。