在 Ubuntu系统上部署 Ollama


1. 更新系统 & 安装依赖

sudo apt update && sudo apt upgrade -y
sudo apt install -y curl git

2. 安装 Ollama

curl -fsSL https://ollama.com/install.sh | sh
ollama --version
  • 官方安装方式,没问题。
  • 注意:install.sh 脚本会自动添加 systemd 服务,并启动 ollama 服务。
  • 建议:在生产环境中,可考虑验证脚本内容(如先下载再审查),但个人使用一般无问题。

3. 配置外网可访问(0.0.0.0:11434)

sudo mkdir -p /etc/systemd/system/ollama.service.d
echo '[Service]
Environment="OLLAMA_HOST=0.0.0.0:11434"' | sudo tee /etc/systemd/system/ollama.service.d/override.conf

sudo systemctl daemon-reload
sudo systemctl restart ollama
sudo systemctl enable ollama
  • 完全正确。这是官方推荐的覆盖配置方式(使用 systemd drop-in 目录)。
  • 设置 OLLAMA_HOST=0.0.0.0:11434 后,Ollama 会监听所有 IPv4 接口,端口 11434。
  • 安全提醒:开放到公网前务必确认防火墙规则或使用反向代理 + 认证(如 Nginx + Basic Auth),否则可能被滥用。

4. 放行防火墙端口(11434)

sudo ufw allow 11434/tcp
sudo ufw reload
  • 如果你启用了 ufw,这一步是必要的。
  • 若使用云服务器(如 AWS、阿里云、腾讯云),还需在安全组中放行 11434 入站流量。

5. 国内加速(ModelScope 镜像)

echo 'export OLLAMA_HF_MIRROR=https://modelscope.cn' >> ~/.bashrc
source ~/.bashrc
  • 对于国内用户,这能显著提升模型下载速度。
  • 注意:OLLAMA_HF_MIRROR 是 Ollama 支持的环境变量(官方文档),但并非所有模型都托管在 Hugging Face。Qwen 系列在 ModelScope 上确实有镜像,所以对 qwen2.5:7b 有效。
  • 更通用的方式(可选):

    export OLLAMA_MODELS=https://modelscope.cn/models

但目前

OLLAMA_HF_MIRROR

已足够。


6. 下载模型 qwen2.5:7b

ollama pull qwen2.5:7b
或者
ollama pull qwen3.5:2b
  • 该模型是通义千问 2.5 的 7B 版本,中文能力强,适合本地部署。
  • 模型大小约 4–5GB,请确保磁盘空间充足(建议 >10GB 可用)。
  • 首次运行时可能还会下载 tokenizer 等组件,耐心等待。

7. 本地测试对话

ollama run qwen2.5:7b
或者
ollama run qwen3.5:2b
  • 标准测试方式。
  • 提示:输入 /exitCtrl+D 退出。

8. 输出给 TRAE 的 API 地址

echo "===== 给 TRAE 的地址 ====="
hostname -I
echo "用法:http://$(hostname -I | awk '{print $1}'):11434/v1"
  • 获取本机 IP 并拼接 OpenAI 兼容 API 地址(Ollama 默认提供 /v1 接口)。
  • hostname -I 可能返回多个 IP(如 IPv6、docker 虚拟 IP),awk '{print $1}' 只取第一个,通常是主网卡 IPv4,但不绝对可靠
  • 更稳健的方式(仅获取主 IPv4):

    ip route get 8.8.8.8 | awk '{print $7; exit}'

或明确指定网卡(如

eth0

额外建议(安全 & 稳定性)

  1. 不要直接暴露 11434 到公网
    建议通过 Nginx/Caddy 反向代理,并添加 Basic Auth 或 API Key:
location /v1 {
    proxy_pass http://127.0.0.1:11434;
    auth_basic "Restricted";
    auth_basic_user_file /etc/nginx/.htpasswd;
}
  1. 检查 Ollama 是否真正在 0.0.0.0 监听
    运行后验证:
ss -tulnp | grep 11434
# 应看到:LISTEN 0 4096 0.0.0.0:11434 ...

如用于公网服务,请务必增加访问控制!


Ollama 量化版本

  1. Ollama 不提供原始 FP16 模型默认量化等级:Q4_K_M 或类似
    虽然 Ollama 命令行不显式标明量化类型,但根据社区实测和官方惯例:

    • qwen3.5:2b 在 Ollama 中默认使用 4-bit 量化(如 Q4_K_M)
    • 模型文件大小约 1.2–1.5 GB
    • 内存占用约 2.0–2.8 GB
  2. 其他量化版本存在(但需手动下载)
    如果你不用 Ollama,而是用 llama.cpp,可以从以下来源获取不同量化版本:

    • ModelScope(魔搭)unsloth/Qwen3.5-2B-GGUF
    • Hugging Face / Unsloth 官方

    :提供多种量化,如:

    • Q4_K_M(平衡速度与精度)
    • Q5_K_S(更高精度)
    • UD-Q4_K_XL(Unsloth 优化版,推理更快)

示例(非 Ollama 方式):

# 从 ModelScope 下载 Q4_K_M 版本
modelscope download --model unsloth/Qwen3.5-2B-GGUF --revision q4_k_m
  1. Ollama 目前不支持指定量化等级
    你无法通过 ollama pull qwen3.5:2b-q5 这种方式选择量化等级。Ollama 只提供一个“官方推荐”的默认量化版本。

如何确认你下载的是量化版?

运行以下命令查看模型信息:

ollama show qwen3.5:2b --modelfile
如果上面不行用这个
ollama show qwen3.5:2b

输出中会包含类似:

FROM qwen3.5:2b-q4_K_M

PARAMETER num_ctx 32768
PARAMETER stop "..."

虽然不总是显示量化名,但所有 Ollama 模型都是量化过的,否则无法在普通 CPU 上运行。

swap虚拟内存


扩大 Swap 虚拟内存

sudo swapoff -a
sudo rm /swapfile
sudo fallocate -l 4G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile

解释:

  1. swapoff -a

关闭所有 swap(必须先关才能删)

  1. rm /swapfile

删除旧的 swap 文件

  1. fallocate -l 4G /swapfile

一次性分配 4G 文件(比 dd 快)

  1. chmod 600

必须,否则 mkswap会警告甚至拒绝

  1. mkswap

格式化为 swap

  1. swapon

启用新 swap


验证方式

free -h

看到类似:

Swap:   4.0Gi   0B   4.0Gi

Swap:   3.9Gi   0B   3.9Gi

就是成功


永久生效(重启不丢)

echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab

提醒:

  • tee -a追加
  • 如果你之前已经有 /swapfile那行,不要重复加

你可以先检查:

grep swapfile /etc/fstab

如果有旧记录而你想重新加,可以先删那行再执行。

补充:swappiness

云 / 轻量服务器建议适当降低 swap 使用倾向:

cat /proc/sys/vm/swappiness

默认常常是 60,可改成 10~30

sudo sysctl vm.swappiness=10

永久生效:

echo 'vm.swappiness=10' | sudo tee -a /etc/sysctl.conf

开启web端

在网页中交互问答

# 1. 装 Docker
sudo apt install -y docker.io && sudo systemctl start docker

# 2. 启动 Open WebUI
sudo docker run -d -p 3000:8080 --add-host=host.docker.internal:host-gateway --name open-webui ghcr.io/open-webui/open-webui:main

# 或者镜像加速
sudo docker run -d 
  -p 3000:8080 
  --add-host=host.docker.internal:host-gateway 
  --name open-webui 
  --restart always 
  registry.cn-hangzhou.aliyuncs.com/open-webui/open-webui:main

# 3. 浏览器访问 http://服务器IP:3000
最后修改:2026 年 05 月 18 日 10 : 41 AM
如果觉得此文章有用,请随意打赏