Ollama Linux 服务器本地部署

Ollama Linux 服务器本地部署

参考文档:Ollama Linux 安装

1. 安装

bash 复制代码
curl -fsSL https://ollama.com/install.sh | sh

安装后检查:

bash 复制代码
which ollama
ollama -v

2. 创建 systemd 服务

先确认实际安装路径:

bash 复制代码
which ollama

如果输出是 /usr/local/bin/ollama,执行:

bash 复制代码
sudo tee /etc/systemd/system/ollama.service > /dev/null <<'EOF'
[Unit]
Description=Ollama Service
After=network-online.target

[Service]
ExecStart=/usr/local/bin/ollama serve
User=root
Group=root
Restart=always
RestartSec=3
Environment="OLLAMA_HOST=0.0.0.0:11434"
Environment="PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"

[Install]
WantedBy=multi-user.target
EOF

如果 which ollama 输出的不是 /usr/local/bin/ollama,把 ExecStart 改成真实路径。

3. 启动服务:

bash 复制代码
sudo systemctl daemon-reload
sudo systemctl enable ollama
sudo systemctl restart ollama
sudo systemctl status ollama --no-pager

重点检查:

  • ollama 服务是否正常启动
  • 11434 端口是否已监听
  • 云服务器安全组是否已放行 11434

如果是云服务器,还需要在控制台安全组放行:

  • 协议:TCP
  • 端口:11434
  • 来源:按需配置

如果安全组里已经有 全部IPv4地址 + ALL协议 + ALL端口 + 允许,说明云侧端口已放开。

4. 测试验证

检查服务状态:

bash 复制代码
sudo systemctl status ollama --no-pager

检查监听端口:

bash 复制代码
ss -lntp | grep 11434

正常情况下应看到 0.0.0.0:11434:::11434

本机接口测试:

bash 复制代码
curl http://127.0.0.1:11434/api/tags

远程接口测试:

bash 复制代码
curl http://服务器公网IP:11434/api/tags

查看日志:

bash 复制代码
journalctl -u ollama -n 100 --no-pager

5. 模型拉取与运行

拉取并运行模型:

bash 复制代码
ollama run qwen2.5:0.5b

查看本地模型:

bash 复制代码
ollama list

如果模型名写错,例如:

bash 复制代码
ollama run qwen:0.5d

会报错:

bash 复制代码
Error: pull model manifest: file does not exist

原因是模型 tag 不存在,改成正确 tag 即可,如 qwen2.5:0.5b

6. 云模型配置

如果不想在服务器本地拉模型,也可以直接接云模型。无需强大GPU即可运行,同时提供与本地模型相同的功能,使您能够在运行无法在个人电脑上运行的大型模型时继续使用本地工具。

model library

6.1 登录或创建 ollama 账户:

bash 复制代码
ollama signin

创建 API Key 授权之后,拉取对应云模型,执行:

bash 复制代码
ollama run gpt-oss:120b-cloud

6.2 设置环境变量

bash 复制代码
export OLLAMA_API_KEY="你的云模型Key"

6.3 联通性测试

bash 复制代码
curl https://ollama.com/api/tags

6.4 本地模型与云模型怎么选

  • 本地模型:数据不出机器,可离线,适合内网和调试环境,对设备要求高
  • 云模型:免部署显卡和大模型文件,接入快,适合快速验证和线上能力调用,对设备要求低

6.5 常见问题

401 Unauthorized

  • API Key 错误
  • 请求头没带 Authorization

404 Not Found

  • Base URL 写错
  • 路径不是 /v1/chat/completions 或平台兼容路径不同
  • Model 名称不存在

403 Forbidden

  • 账号无权限
  • 模型未开通

timeout

  • 服务器出网受限
  • 域名解析异常
  • 云厂商接口不通

7. 是否需要重启

执行 ollama runollama pull 后,不需要重启服务器,也不需要重启 ollama 服务。

只有在以下场景才需要重启服务:

  • 修改了 /etc/systemd/system/ollama.service
  • 修改了 OLLAMA_HOST
  • 升级了 ollama
  • 服务异常卡住

重启命令:

bash 复制代码
sudo systemctl restart ollama

8. 常见问题

8.1 could not connect to a running Ollama instance

说明客户端已安装,但服务未启动。

处理:

bash 复制代码
sudo systemctl restart ollama
sudo systemctl status ollama --no-pager

8.2 status=217/USER

说明服务文件里的 UserGroup 配置无效。

本次处理方式:直接使用 root 运行。

8.3 status=203/EXEC

说明 ExecStart 指向的二进制路径不存在。

处理:

bash 复制代码
which ollama

然后把 ExecStart 改成实际路径。

8.4 本机可访问,外网不可访问

按顺序检查:

  1. systemctl status ollama
  2. ss -lntp | grep 11434
  3. OLLAMA_HOST 是否为 0.0.0.0:11434
  4. 云安全组是否放行 11434

8.5 卸载旧版本

bash 复制代码
sudo systemctl stop ollama 2>/dev/null || true
sudo systemctl disable ollama 2>/dev/null || true
sudo rm -f /etc/systemd/system/ollama.service
sudo rm -rf /etc/systemd/system/ollama.service.d
sudo systemctl daemon-reload
sudo systemctl reset-failed

sudo rm -f /usr/local/bin/ollama
sudo rm -f /usr/bin/ollama
sudo rm -rf /usr/local/lib/ollama
sudo rm -rf /usr/lib/ollama
sudo rm -rf /lib/ollama
sudo rm -rf /usr/share/ollama
sudo rm -rf /root/.ollama
rm -rf ~/.ollama

sudo userdel ollama 2>/dev/null || true
sudo groupdel ollama 2>/dev/null || true

9. 最小可用流程

bash 复制代码
curl -fsSL https://ollama.com/install.sh | sh
which ollama

sudo tee /etc/systemd/system/ollama.service > /dev/null <<'EOF'
[Unit]
Description=Ollama Service
After=network-online.target

[Service]
ExecStart=/usr/local/bin/ollama serve
User=root
Group=root
Restart=always
RestartSec=3
Environment="OLLAMA_HOST=0.0.0.0:11434"
Environment="PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"

[Install]
WantedBy=multi-user.target
EOF

sudo systemctl daemon-reload
sudo systemctl enable ollama
sudo systemctl restart ollama

ss -lntp | grep 11434
curl http://127.0.0.1:11434/api/tags
ollama run qwen2.5:0.5b
相关推荐
GG-_-Bond2 分钟前
基于dpdk实现udp接收数据
linux·网络·udp
进击的横打8 分钟前
【人工智能】人与AI协作的四象限
人工智能
吴声子夜歌10 分钟前
Shell编程实例——bash入门
linux·运维·shell
yyk3332415 分钟前
计算机视觉OpenCV中的FisherFace人脸识别
人工智能·opencv·计算机视觉
澳鹏Appen16 分钟前
AppenTalk | 当AI推理不再只是模型的事:Dan Roth谈智能体的真正边界
人工智能·大语言模型·智能体·大模型推理
Mr数据杨17 分钟前
二手车价格预测实战解析 从 Kaggle 回归赛题到可落地估价方案
人工智能·数据分析·kaggle竞赛
Zzj_tju19 分钟前
Embodied Agent 小环境:用状态日志解释成功、绕路与超时
人工智能·深度学习·机器学习·自然语言处理
爱和冰阔落34 分钟前
【Linux】条件变量为什么必须配合互斥锁:从 pthread_cond_wait 到阻塞队列
linux·运维·c++·缓存·中间件·安卓
tedcloud12334 分钟前
God‘s Eye View 怎么搭建?在云服务器上部署一个实时 3D 地球可视化平台
linux·服务器·开发语言·后端·rust
星间都市山脉35 分钟前
Android16 SystemService.onBootPhase 调用时机
android·java·linux·windows·ubuntu