Ollama: Ollama安装与环境配置

安装 Ollama 就像给电脑装一个本地大脑——一条命令,三平台通用,开箱即用。

⚠️ 注意:设置 OLLAMA_HOST=0.0.0.0:11434 会将Ollama服务暴露到所有网络接口,意味着同一网络中的任何人都能调用你的AI模型。这在开发环境可以方便局域网访问,但如果有公网IP或未配置防火墙,将面临严重安全风险。生产环境务必通过Nginx反向代理添加认证。

📋 前置知识:需要先掌握以下内容

1. 你将学到


2. 一个 SaaS 创业者的真实故事

(1) 痛点:环境配置噩梦

Alice 创办了 GlobalShop 电商平台,需要在公司的 Linux 服务器和自己的 Mac 笔记本上部署 AI 客服能力。她试过 llama.cpp——编译 CUDA、配置环境、解决依赖冲突,花了整整两天。换一台机器又要重来一次。

(2) 解法:一条命令搞定

Ollama 把编译、依赖、模型管理全部封装,Alice 只需一条命令安装,十分钟内完成跨平台部署。

BASH
# macOS / Linux: one-line install
curl -fsSL https://ollama.com/install.sh | sh

# Verify installation
ollama --version
# ollama version is 0.5.x

3. 系统要求与兼容性

(1) 最低与推荐配置

组件 最低配置 推荐配置
CPU 4 核 x86_64 / ARM64 8 核+
RAM 8 GB(3B 模型) 32 GB(8B+ 模型)
GPU 无(CPU 推理) NVIDIA 8GB+ VRAM
磁盘 10 GB 可用空间 50 GB+ SSD
OS macOS 13+ / Ubuntu 20.04+ / Windows 10+ 最新 LTS 版本

(2) GPU 加速支持矩阵

GPU 厂商 平台 支持方式 自动检测
NVIDIA Linux / Windows WSL2 CUDA ✅ 自动
AMD Linux ROCm ✅ 自动
Apple macOS Metal ✅ 自动
Intel Linux SYCL ⚠️ 实验性
💡 提示: Ollama 启动时自动检测 GPU。无需手动配置驱动路径,安装好 CUDA/ROCm 即可。

▶ 示例 1: 检查系统兼容性(Linux)

BASH
# Check CPU architecture
uname -m
# Expected: x86_64 or aarch64

# Check available RAM in GB
free -g | awk '/^Mem:/{print $2}'

# Check NVIDIA GPU
nvidia-smi --query-gpu=name,memory.total --format=csv

# Check disk space
df -h / | awk 'NR==2{print $4}'

输出:

TEXT 📖 仅展示
# 命令执行成功

4. 三平台安装方法

(1) macOS 安装

100%
flowchart LR
    A[Download DMG] --> B[Drag to Applications]
    B --> C[Launch Ollama]
    C --> D[Auto-start Server]
    D --> E[Verify: ollama --version]
方式 命令 说明
官方安装包 从 ollama.com 下载 DMG 推荐,含 GUI 菜单栏
Homebrew brew install ollama 命令行偏好者
手动启动 ollama serve 安装后启动服务

▶ 示例 2: macOS 完整安装流程

BASH
# Option A: Homebrew install
brew install ollama

# Start the server
ollama serve

# Option B: Verify GUI app is running
ps aux | grep ollama

# Quick test
ollama run llama3.2 "Say hello in one sentence"

输出:

TEXT 📖 仅展示
I'm a helpful AI assistant running locally on your machine...

(2) Linux 安装

方式 命令 适用场景
官方脚本 curl -fsSL https://ollama.com/install.sh | sh 推荐,自动检测 GPU
手动下载 从 ollama.com 下载 tar.gz 离线环境
systemd 自动注册为 systemd 服务 服务器长期运行

▶ 示例 3: Linux 安装与服务管理

BASH
# Install with official script (auto-detects GPU)
curl -fsSL https://ollama.com/install.sh | sh

# Check systemd service status
sudo systemctl status ollama

# Start/stop/restart service
sudo systemctl start ollama
sudo systemctl stop ollama
sudo systemctl restart ollama

# Enable auto-start on boot
sudo systemctl enable ollama

输出:

TEXT 📖 仅展示
# Ollama 命令执行成功

(3) Windows 安装

方式 命令 说明
官方安装包 从 ollama.com 下载 exe 推荐,含系统托盘
winget winget install Ollama.Ollama 命令行安装
WSL2 在 WSL2 中用 Linux 方式安装 需要 GPU 直通

▶ 示例 4: Windows 安装与 WSL2 GPU 验证

POWERSHELL
# Install via winget
winget install Ollama.Ollama

# Verify installation
ollama --version

# If using WSL2 with NVIDIA GPU, verify inside WSL
wsl
nvidia-smi  # Should show GPU inside WSL
ollama run llama3.2 "Hello"

输出:

TEXT 📖 仅展示
// 执行成功

5. 环境变量与端口配置

💡 提示:当需要下载多个模型时,模型文件会占用大量磁盘空间(8B模型约5GB,70B模型约40GB)。可通过 OLLAMA_MODELS 环境变量将模型存储路径指向更大容量的磁盘分区(如 /data/ollama/models),避免系统盘空间不足。这在多模型部署场景下尤为重要。

ℹ️ 信息: OLLAMA_KEEP_ALIVE 控制模型在内存中的驻留时间,默认 5 分钟。频繁使用时建议设为 30m 或更长,避免每次请求都重新加载模型(冷启动需 5-30 秒)。

(1) 核心环境变量

变量 默认值 用途
OLLAMA_HOST 127.0.0.1:11434 服务监听地址与端口
OLLAMA_MODELS ~/.ollama/models 模型文件存储路径
OLLAMA_KEEP_ALIVE 5m 模型驻留内存时间
OLLAMA_NUM_PARALLEL 1 并行请求数
OLLAMA_MAX_LOADED_MODELS 1 最大同时加载模型数
OLLAMA_DEBUG false 调试日志开关

(2) 监听地址安全对比

配置 安全性 适用场景
127.0.0.1:11434 ✅ 仅本机访问 开发环境
0.0.0.0:11434 ⚠️ 所有网络可访问 内网服务,需配合防火墙
0.0.0.0:11434 + Nginx ✅ 反向代理 + 认证 生产环境
⚠️ 注意: 绑定 0.0.0.0 后必须配置防火墙或反向代理,否则任何人可访问你的 Ollama 服务。

▶ 示例 5: 自定义环境变量配置

BASH
# Linux/macOS: set environment variables
# Edit systemd service (Linux)
sudo systemctl edit ollama

# Add in the override file:
[Service]
Environment="OLLAMA_HOST=0.0.0.0:11434"
Environment="OLLAMA_MODELS=/data/ollama/models"
Environment="OLLAMA_KEEP_ALIVE=30m"

# Reload and restart
sudo systemctl daemon-reload
sudo systemctl restart ollama

# macOS: set via launchctl or shell profile
export OLLAMA_HOST=0.0.0.0:11434
ollama serve

输出:

TEXT 📖 仅展示
NAME                    ID              SIZE    
llama3.2:latest        a80...          2.0 GB  
mistral:latest         61...           4.1 GB

6. 常见安装故障排查

(1) 故障速查表

症状 原因 解决方案
"connection refused" 服务未启动 ollama serve 或重启 systemd
"bind: address already in use" 端口冲突 lsof -i :11434 查找占用进程
"could not find GPU" 驱动未安装 安装 NVIDIA CUDA / AMD ROCm
"out of memory" VRAM 不足 使用更小模型或量化版本
"permission denied" 权限不足 Linux 检查用户组 / 目录权限
"model not found" 模型未拉取 ollama pull <model>

▶ 示例 6: 端口冲突诊断

BASH
# Check what process is using port 11434
lsof -i :11434
# or on Linux
ss -tlnp | grep 11434

# Kill the conflicting process if needed
kill -9 `<PID>`

# Or change Ollama port
export OLLAMA_HOST=127.0.0.1:8080
ollama serve

输出:

TEXT 📖 仅展示
NAME                    ID              SIZE    
llama3.2:latest        a80...          2.0 GB  
mistral:latest         61...           4.1 GB

7. 综合示例:全新服务器部署脚本

⚠️ 警告: 部署脚本中 OLLAMA_HOST=0.0.0.0:11434 适用于服务器内网环境。如果服务器有公网 IP,务必配置防火墙(ufw/iptables)限制 11434 端口的外部访问,或通过 Nginx 反向代理添加认证。

BASH
#!/bin/bash
# ============================================
# Comprehensive: Fresh server Ollama deployment
# Checks hardware, installs Ollama, verifies service
# ============================================

set -e

echo "=== Step 1: Hardware Check ==="
echo "CPU: $(nproc) cores"
echo "RAM: $(free -g | awk '/^Mem:/{print $2}')GB"

if command -v nvidia-smi &> /dev/null; then
    echo "GPU: $(nvidia-smi --query-gpu=name --format=csv,noheader)"
    echo "VRAM: $(nvidia-smi --query-gpu=memory.total --format=csv,noheader)"
else
    echo "GPU: Not detected (CPU-only mode)"
fi

echo "Disk: $(df -h / | awk 'NR==2{print $4}') available"

echo ""
echo "=== Step 2: Install Ollama ==="
curl -fsSL https://ollama.com/install.sh | sh

echo ""
echo "=== Step 3: Configure Environment ==="
sudo mkdir -p /data/ollama/models
sudo systemctl edit ollama <<EOF
[Service]
Environment="OLLAMA_HOST=0.0.0.0:11434"
Environment="OLLAMA_MODELS=/data/ollama/models"
Environment="OLLAMA_KEEP_ALIVE=30m"
EOF

sudo systemctl daemon-reload
sudo systemctl restart ollama

echo ""
echo "=== Step 4: Verify Service ==="
sleep 3
if curl -s http://localhost:11434/api/tags > /dev/null; then
    echo "SUCCESS: Ollama is running on port 11434"
    ollama --version
else
    echo "FAILED: Check logs with: journalctl -u ollama"
fi

echo ""
echo "=== Step 5: Pull First Model ==="
ollama pull llama3.2
echo "Deployment complete! Run: ollama run llama3.2"

❓ 常见问题

Q 安装后 ollama 命令找不到怎么办?
A Linux 检查 是否在 PATH 中:。macOS 用 Homebrew 安装后执行 。Windows 重启终端生效。
Q Docker 安装和直接安装选哪个?
A 本地开发选直接安装(更简单)。服务器部署选 Docker(便于隔离和运维)。本课先直接安装,Lesson 15 详解 Docker 方式。
Q WSL2 中 GPU 推理怎么配置?
A 安装 NVIDIA CUDA on Windows 后,WSL2 自动继承 GPU。在 WSL2 中运行 验证,看到 GPU 即可用。无需在 WSL2 内单独安装 CUDA。
Q Ollama 服务开机自启怎么设置?
A Linux 安装脚本自动注册 systemd 服务并设置开机自启。macOS 安装 app 后自动添加到登录项。Windows 安装后添加到启动项。
Q 模型文件默认存在哪里?能改路径吗?
A 默认 。设置 环境变量可更改,适合磁盘空间不足时挂载外部存储。
Q 如何确认 GPU 加速生效?
A 运行 后观察日志,出现 或 表示 GPU 加速已启用。也可用 观察推理时 VRAM 占用。

📖 小节


📝 作业

  1. 基础题(难度⭐):在你当前系统上安装 Ollama,运行 确认安装成功。
  2. 进阶题(难度⭐⭐):配置 和 环境变量,将服务绑定到 并将模型存储到自定义路径,验证配置生效。
  3. 挑战题(难度⭐⭐⭐):编写一个自动化部署脚本,完成从硬件检测、Ollama 安装、环境配置到模型拉取的全流程,并输出部署报告。
Web-Tutorial.com

Web-Tutorial 技术团队

由多位开发者共同维护的编程教程平台。每篇教程由对应领域的开发者编写和审核,确保内容准确可靠。如发现任何问题,欢迎向我们反馈。

100%

🙏 帮我们做得更好

我们是刚上线的编程教程站,几个人的小团队,精力有限。页面虽经检查,难免还有疏漏——链接失效、排版错乱、内容有误、语言生硬……

如果您发现了,麻烦告诉我们,我们会在收到反馈后第一时间进行修复,再次感谢您的光临 🙏