不冷博客

在 Ubuntu系统上部署 Ollama

在 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

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

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

sudo ufw allow 11434/tcp
sudo ufw reload

5. 国内加速(ModelScope 镜像)

echo 'export OLLAMA_HF_MIRROR=https://modelscope.cn' >> ~/.bashrc
source ~/.bashrc

但目前

OLLAMA_HF_MIRROR

已足够。


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

ollama pull qwen2.5:7b
或者
ollama pull qwen3.5:2b

7. 本地测试对话

ollama run qwen2.5:7b
或者
ollama run qwen3.5:2b

8. 输出给 TRAE 的 API 地址

echo "===== 给 TRAE 的地址 ====="
hostname -I
echo "用法:http://$(hostname -I | awk '{print $1}'):11434/v1"

或明确指定网卡(如

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

提醒:

你可以先检查:

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

当前页面是本站的「Google AMP」版。查看和发表评论请点击:完整版 »