欢迎光临
我们一直在努力

WSL2 + Ubuntu + Ollama + Open WebUI 完整搭建总结

📋 环境架构

1┌─────────────────────────────────────────────────────────────┐
2│ Windows 11 主机 │
3│ 浏览器 → http://192.168.24.125:3000 │
4│ Windows 防火墙:允许 3000、11434 端口 │
5└─────────────────────────────────────────────────────────────┘
6 ↑ 网络访问
7┌─────────────────────────────────────────────────────────────┐
8│ WSL2 (Ubuntu) │
9│ IP: 192.168.24.125 │
10│ ┌──────────────┐ ┌────────────────────────────┐ │
11│ │ Ollama │ │ Open WebUI (Docker) │ │
12│ │ :11434 │ ←─────→ │ 容器端口 3000 → 8080 │ │
13│ │ 监听 0.0.0.0 │ │ 连接 Ollama: 192.168.24.125 │ │
14│ └──────────────┘ └────────────────────────────┘ │
15│ Ubuntu 防火墙:允许 11434 端口 │
16└─────────────────────────────────────────────────────────────┘


📝 完整搭建步骤

第 1 步:准备 WSL2 + Ubuntu 环境

这一步的教程很多,有需求也可以选择安装虚拟桌面,我是用的是gnome,xfec4桌面也使用过,虽然快但是卡在中文输入法很难受,所以慢点就慢点吧,也很少用上。

在 Windows PowerShell 中安装 WSL2
wsl –install

重启电脑后,设置 Ubuntu 为默认版本
wsl –set-default ubuntu

# 进入 Ubuntu
wsl


第 2 步:打开Ubuntu安装 Ollama

在Linux系统上安装Ollama会很慢,但是慢也有忙的好。想要快点的这边有快捷方案,直接解压就安装。

方案一:

# 下载并安装 Ollama
curl -fsSL https://ollama.com/install.sh | sh

# 验证安装
ollama –version

方案二:

第 1步:下载离线包

  • 访问 GitHub Releases:

    https://github.com/ollama/ollama/releases

  • 下载对应版本的 Linux 安装包,例如

    ollama-linux-amd64.tgz或者ollama-linux-amd64.tgz.zst

  • 第 2 步:传输到 Linux 服务器

    # Windows 使用 scp 或文件传输工具
    # 例如使用 WinSCP、Xftp 等
    # 如果安装了桌面,wsl2在远程桌面中直接开启文件夹共享,也可以直接拷贝。

    # 或使用 scp 命令(在 Windows PowerShell)
    scp ollama-linux-amd64.tgz chenyujin@192.168.24.125:~/

    第 3 步:在 Linux 上解压安装

    # 创建安装目录
    sudo mkdir -p /opt/ollama
    sudo chown -R $(whoami):$(whoami) /opt/ollama

    # 解压安装包
    tar -xzf ollama-linux-amd64.tgz -C /opt/ollama

    # 创建符号链接
    sudo ln -sf /opt/ollama/ollama /usr/local/bin/ollama

    # 验证安装
    ollama –version

    第 4 步:配置 systemd 服务

    # 创建服务文件
    sudo vim /etc/systemd/system/ollama.service

    粘贴以下内容:

    [Unit]
    Description=Ollama Service
    After=network-online.target

    [Service]
    ExecStart=/usr/bin/ollama serve
    User=ollama
    Group=ollama
    Restart=always
    RestartSec=3
    #Environment="PATH=$PATH"
    Environment="OLLAMA_MODELS=/home/chenyujin/AI_AgentWorkspace/OllamaModels"
    Environment="OLLAMA_HOST=0.0.0.0"–添加这一行
    [Install]
    WantedBy=default.target

    # 创建 ollama 用户
    sudo useradd -r -s /bin/false ollama
    sudo chown -R ollama:ollama /opt/ollama

    # 启动服务
    sudo systemctl daemon-reload
    sudo systemctl start ollama
    sudo systemctl enable ollama

    # 验证状态
    sudo systemctl status ollama(看到active (running)就算成功)


    第 3 步:配置 Ollama 监听所有地址

    ⚠️ 关键步骤:默认 Ollama 只监听 127.0.0.1,容器无法访问,需改为 0.0.0.0

    # 停止当前 Ollama 服务
    sudo systemctl stop ollama

    # 编辑 systemd 服务配置
    sudo vim /etc/systemd/system/ollama.service

    # 在 [Service] 部分添加环境变量
    [Service]
    Environment="OLLAMA_HOST=0.0.0.0"
    # 重新加载并启动
    sudo systemctl daemon-reload
    sudo systemctl start ollama
    sudo systemctl enable ollama

    #验证监听地址
    sudo ss -tlnp | grep 11434
    # 应显示 *:11434 而不是 127.0.0.1:11434


    第 4 步:配置 Ubuntu 防火墙

    防火墙的设置非常重要,卡了好久。

    # 查看防火墙状态
    sudo ufw status

    # 允许 11434 端口(Ollama)
    sudo ufw allow 11434/tcp

    # 验证规则
    sudo ufw status

    #结果类似
    状态: 激活

    至 动作 来自
    – — —
    3390 ALLOW Anywhere
    11434/tcp ALLOW Anywhere
    3390 (v6) ALLOW Anywhere (v6)
    11434/tcp (v6) ALLOW Anywhere (v6)


    第 5 步:下载 Ollama 模型

    试着拉一个模型下来

    # 下载模型(示例:deepseek-r1:8b)
    ollama pull deepseek-r1:8b

    # 查看已下载模型
    ollama list


    第 6 步:部署 Open WebUI (Docker)

    # 拉取镜像(使用国内镜像源加速)
    docker pull ghcr.m.daocloud.io/open-webui/open-webui:main

    # 运行容器
    docker run -d \\
    –name open-webui \\
    -p 3000:8080 \\
    -v open-webui:/app/backend/data \\
    –restart always \\
    ghcr.m.daocloud.io/open-webui/open-webui:main

    # 查看容器状态
    docker ps


    第 7 步:配置 Open WebUI 连接 Ollama

    ⚠️ 关键步骤:Linux/WSL2 环境下不能用 host.docker.internal,需用 WSL2 实际 IP

  • 查看 WSL2 IP 地址

    ip addr show eth0 | grep "inet " | awk '{print $2}' | cut -d/ -f1
    # 记录 IP,例如:192.168.24.125

  • 在 Open WebUI 界面配置:

    • 浏览器访问:http://192.168.24.125:3000
    • 首次登录创建管理员账号
    • 点击左下角 设置 ⚙️ → 连接 (Connections)
    • 删除 默认的 http://host.docker.internal:11434
    • 添加新连接:http://192.168.24.125:11434
    • 保存,等待状态变绿 ✅

  • 第 8 步:配置 Windows 防火墙

    ⚠️ 关键步骤:以管理员身份运行 PowerShell

    # 以管理员身份打开 PowerShell (Win+X → Windows PowerShell (管理员))

    # 允许 Open WebUI 端口 3000
    New-NetFirewallRule -DisplayName "Open WebUI 3000" -Direction Inbound -LocalPort 3000 -Protocol TCP -Action Allow

    # 允许 Ollama 端口 11434
    New-NetFirewallRule -DisplayName "Ollama 11434" -Direction Inbound -LocalPort 11434 -Protocol TCP -Action Allow

    # 验证规则
    Get-NetFirewallRule | Where-Object {$_.DisplayName -like "*Open WebUI*" -or $_.DisplayName -like "*Ollama*"}


    ✅ 验证测试

    测试 1:Ollama API 是否正常

    curl http://127.0.0.1:11434/api/tags

    测试 2:Open WebUI 能否访问 Ollama

    在 Open WebUI 设置中查看连接状态,应显示绿色 ✅

    测试 3:Windows 浏览器能否访问

    http://192.168.24.125:3000

    测试 4:模型对话测试

    • 在 Open WebUI 中选择 deepseek-r1:8b 模型
    • 发送消息,确认能正常回复

    🔧 常用命令速查

    表格

    操作命令
    查看 Ollama 状态 sudo systemctl status ollama
    重启 Ollama sudo systemctl restart ollama
    查看 WSL2 IP ip addr show eth0 | grep "inet "
    查看 Docker 容器 docker ps
    重启 Open WebUI docker restart open-webui
    查看 Ollama 日志 sudo journalctl -u ollama -f
    查看容器日志 docker logs -f open-webui

    ⚠️ 常见坑点总结

    表格

    问题原因解决方案
    Open WebUI 连接 Ollama 失败 host.docker.internal 在 Linux 不可用 使用 WSL2 实际 IP 192.168.24.125
    Ollama 端口无法访问 默认只监听 127.0.0.1 设置 OLLAMA_HOST=0.0.0.0
    Windows 无法访问 3000 端口 Windows 防火墙阻止 管理员 PowerShell 添加防火墙规则
    Ubuntu 防火墙阻止 11434 UFW 默认拒绝 sudo ufw allow 11434/tcp
    WSL2 IP 变化 WSL2 重启后 IP 可能改变 固定 IP 或每次查看更新配置


    🎯 最终效果

    • ✅ Windows 浏览器访问 http://192.168.24.125:3000
    • ✅ Open WebUI 连接 Ollama 状态绿色
    • ✅ 可选择已下载的模型进行对话
    • ✅ 所有数据本地存储,隐私安全

    恭喜你完成本地大模型部署! 🎉 现在你拥有一个完全私有、离线可用的 AI 助手了!

    赞(0)
    未经允许不得转载:171主机测评 » WSL2 + Ubuntu + Ollama + Open WebUI 完整搭建总结
    分享到: 更多 (0)

    评论 抢沙发

    • 昵称 (必填)
    • 邮箱 (必填)
    • 网址