Ollama: Ollama安装与环境配置
安装 Ollama 就像给电脑装一个本地大脑——一条命令,三平台通用,开箱即用。
⚠️ 注意:设置
OLLAMA_HOST=0.0.0.0:11434 会将Ollama服务暴露到所有网络接口,意味着同一网络中的任何人都能调用你的AI模型。这在开发环境可以方便局域网访问,但如果有公网IP或未配置防火墙,将面临严重安全风险。生产环境务必通过Nginx反向代理添加认证。
📋 前置知识:需要先掌握以下内容
- 第1课:本地AI概念与环境认知
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 安装
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 占用。
📖 小节
- Ollama 支持 macOS / Linux / Windows 三平台一键安装
- 最低 8GB RAM 运行 3B 模型,推荐 16GB+ 运行 8B 模型
- 默认监听 127.0.0.1:11434,通过 OLLAMA_HOST 更改
- OLLAMA_MODELS 环境变量可自定义模型存储路径
- GPU 加速自动检测:NVIDIA CUDA / AMD ROCm / Apple Metal
- 常见故障可通过端口检查、日志查看快速定位
📝 作业
- 基础题(难度⭐):在你当前系统上安装 Ollama,运行 确认安装成功。
- 进阶题(难度⭐⭐):配置 和 环境变量,将服务绑定到 并将模型存储到自定义路径,验证配置生效。
- 挑战题(难度⭐⭐⭐):编写一个自动化部署脚本,完成从硬件检测、Ollama 安装、环境配置到模型拉取的全流程,并输出部署报告。