【2026最新Linux本地部署Ollama】Ollama Linux 安装全流程(含离线 / 开机自启 / 远程访问)

前言 :本文记录在 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/

bash 复制代码
# 官方脚本(自动下载+解压+配置服务)
curl -fsSL https://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),执行:

bash 复制代码
# 解压到 /usr(系统目录,全局可用)
tar -zxvf ollama-linux-amd64.tgz -C /usr/

# 验证
ollama -v

三、配置开机自启(必做)

创建系统服务文件 /etc/systemd/system/ollama.service

bash 复制代码
vi /etc/systemd/system/ollama.service

写入内容:

ini 复制代码
[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

生效并设置开机自启:

bash 复制代码
# 重载服务配置
systemctl daemon-reload

# 开机自启
systemctl enable ollama

# 启动服务
systemctl start ollama

# 查看状态(显示 active 即正常)
systemctl status ollama

四、拉取并运行模型(以 qwen2、deepseek-r1 为例)

1. 拉取模型(自动下载,约 300MB--1GB)

bash 复制代码
# 通义千问 qwen2:0.5b(轻量)
ollama pull qwen2:0.5b

# DeepSeek 推理模型 deepseek-r1:1.5b
ollama pull deepseek-r1:1.5b

2. 运行模型(对话交互)

bash 复制代码
# 运行 qwen2
ollama run qwen2:0.5b

# 运行 deepseek-r1
ollama run deepseek-r1:1.5b

输入问题直接对话,输入 /bye 退出。


五、开通远程访问(可选,局域网 / 外部调用)

1. 配置环境变量(允许所有 IP 访问)

编辑 /etc/profile

bash 复制代码
vi /etc/profile

添加:

bash 复制代码
export OLLAMA_HOST=0.0.0.0:11434
export OLLAMA_ORIGINS=*

生效:

bash 复制代码
source /etc/profile

2. 修改服务文件(添加环境变量)

bash 复制代码
vi /etc/systemd/system/ollama.service

[Service] 下添加 2 行:

ini 复制代码
Environment="OLLAMA_HOST=0.0.0.0:11434"
Environment="OLLAMA_ORIGINS=*"

3. 重启服务 + 放行端口

bash 复制代码
# 重载+重启
systemctl daemon-reload
systemctl restart ollama

# 放行11434端口(防火墙)
firewall-cmd --zone=public --add-port=11434/tcp --permanent
firewall-cmd --reload

# 或直接关闭防火墙(测试环境)
systemctl stop firewalld
systemctl disable firewalld

4. 测试远程访问

在另一台机器(Windows/macOS)终端执行:

bash 复制代码
curl http://Linux虚拟机IP:11434/api/generate -d '{"model":"qwen2:0.5b","prompt":"你好"}'

返回结果即成功。

六、Ollama 避坑指南(Linux + Windows)

一、安装类问题

1)Linux:ollama: command not found

原因 :解压没放到 /usr/bin,或没刷新环境

解决

bash 复制代码
# 确认文件存在
ls /usr/bin/ollama
# 重新解压(离线包)
tar -zxvf ollama-linux-amd64.tgz -C /usr/
# 重载环境
source /etc/profile
2)Linux:一键安装卡住、很慢

原因:国外源,网络差

解决:改用离线安装(文档里那个 tgz 包),速度稳定。

3)Windows:安装后命令不存在

原因:没加到 PATH

解决 :重启终端;或把 C:\Program Files\Ollama 手动加到系统 PATH。

二、服务启动类问题

4)Linux:systemctl start ollama 失败

常见:配置文件写错、端口占用、权限不对

排查

bash 复制代码
# 看报错
journalctl -u ollama

# 端口是否被占
netstat -tuln | grep 11434

注意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 快速解决(二选一)

bash 复制代码
# 放行端口
firewall-cmd --add-port=11434/tcp --permanent
firewall-cmd --reload

# 或直接关防火墙(测试环境)
systemctl stop firewalld
systemctl disable firewalld
10)改了 OLLAMA_HOST 还是不能远程

必做:改两处

1)/etc/profile

bash 复制代码
export OLLAMA_HOST=0.0.0.0:11434
export OLLAMA_ORIGINS=*

2)ollama.service[Service] 里:

ini 复制代码
Environment="OLLAMA_HOST=0.0.0.0:11434"
Environment="OLLAMA_ORIGINS=*"

然后:

bash 复制代码
source /etc/profile
systemctl daemon-reload
systemctl restart ollama
11)Windows 访问虚拟机 11434 超时

检查

  • 虚拟机 IP 是否能 ping 通;
  • 虚拟机防火墙是否放行;
  • curl http://虚拟机IP:11434 是否返回。
相关推荐
AlfredZhao1 天前
生产环境里,为什么不建议把普通端口直接暴露到公网?
linux·https·443·80
戴为沐2 天前
Linux内存扩容指南
linux
zylyehuo3 天前
Linux 彻底且安全地删除文件
linux
用户805533698033 天前
主线 U-Boot 上 RK3506:和闭源 rkbin 拔河的三个隐性契约
linux·嵌入式
用户034095297913 天前
linux fcitx 5 雾凇拼音 设置在中文输入法下仍然输入英文标点
linux
乘云数字DATABUFF3 天前
5分钟部署开源APM Databuff:OpenTelemetry全链路追踪入门实战
运维·后端
Web3探索者5 天前
可视化服务器管理和传统命令行区别是什么?新手教程:Linux 运维到底该用图形界面还是 SSH 命令行?
linux·ssh
zylyehuo5 天前
Linux系统中网线与USB网络共享冲突
linux
荣--5 天前
一键部署不是为了省时间 —— 它是把"买来的 PaaS"变成"自己的平台"的拐点
运维·zabbix·工程化·一键部署·平台化·边界设计
江华森5 天前
动手实战学 Docker — 从零到集群编排完全指南
运维