随着大语言模型(LLM)和人工智能的飞速发展,越来越多的开发者尝试在本地环境中部署大模型进行实验。然而,由于资源需求高、网络限制多以及工具复杂性,部署过程常常充满挑战。
本指南基于实际经验,详细讲解如何在 Windows WSL(Windows Subsystem for Linux) 上部署 Ollama 和大语言模型,同时解决端口转发等常见痛点,实现局域网内多设备访问。
无论您是 AI 技术新手、行业从业者,还是 经验丰富的专家,这篇文章都能提供全面的指南、实践经验与优化建议。
WSL 的设计目标是高效:
最终实现的核心目标如下:
在实际联网部署中面临的关键挑战包括:
大模型下载与镜像获取
端口转发和局域网访问
127.0.0.1
,局域网设备无法直接访问。服务性能与配置
✅ 在线获取资源,避免复杂的手动传输
ollama
命令下载模型,无需额外离线准备。✅ 优化端口转发,实现动态调整
✅ 服务绑定到 0.0.0.0,开放外部访问
0.0.0.0
,允许外部设备通过 IP 地址直接访问。✅ 在线获取资源,避免复杂的手动传输
ollama
命令下载模型,无需额外离线准备。✅ 优化端口转发,实现动态调整
✅ 服务绑定到 0.0.0.0,开放外部访问
0.0.0.0
,允许外部设备通过 IP 地址直接访问。环境准备
wsl --install
wsl --set-default-version 2
sudo apt update
sudo apt install -y docker.io
sudo service docker start
友情提示:
可以通过如下命令实现将windows宿主机资源传输到 WSL:
cp /mnt/c/Users/<your_username>/Downloads/docker-images-openwebui.tar ~/
sudo usermod -aG docker $USER
newgrp docker
加载 Docker 镜像
docker run hello-world```
curl -O https://ollama.com/downloads/ollama-linux-amd64
chmod +x ollama-linux-amd64
sudo mv ollama-linux-amd64 /usr/local/bin/ollama
ollama serve
3.下载并运行千问模型
通过 ollama 工具直接在线下载并运行模型:
ollama run qwen2.5
docker pull ghcr.io/open-webui/open-webui:main
docker run -d --name openwebui \
-p 8080:8080 \
-v ~/.ollama:/app/backend/data \
ghcr.io/open-webui/open-webui:main
docker ps
访问服务
确保容器状态为 Up,然后
• 本地访问:http://localhost:8080
• 局域网访问:通过端口转发或绑定所有地址实现http://
获取 WSL 的 IP 地址
hostname -I
例如,返回的 IP 地址可能是 172.22.203.210。
在 Windows 中设置端口转发
1. 打开 PowerShell(管理员权限),运行以下命令:
netsh interface portproxy add v4tov4 listenaddress=0.0.0.0 listenport=8080 connectaddress= connectport=8080
替换
2. 在局域网中的设备上访问:
http://:8080
WSL 的 IP 地址可能每次重启后变化,可以在 /etc/wsl.conf 文件中固定 WSL 子网:
[network]
generateResolvConf = false
subnet = 192.168.50.0/24
重启 WSL 后验证新 IP 是否生效。
wsl --shutdown
wsl
验证新 IP 是否生效:
hostname -I
每次启动 WSL 自动更新端口转发规则:
创建脚本 setup_portproxy.sh:
#!/bin/bash
wsl_ip=$(hostname -I | awk '{print $1}')
powershell.exe -Command "netsh interface portproxy add v4tov4 listenaddress=0.0.0.0 listenport=8080 connectaddress=$wsl_ip connectport=8080"
赋予执行权限:
chmod +x setup_portproxy.sh
在每次 WSL 启动后运行脚本。
在 Windows 主机上安装 Nginx,配置反向代理到 WSL 的服务地址:
下载并安装 Nginx for Windows,编辑 conf/nginx.conf 文件,添加以下内容:
server {
listen 80;
server_name localhost;
location / {
proxy_pass http://172.22.203.210:8080;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
在命令行中执行:
nginx -s reload
对比分析:WSL vs VMware vs VirtualBox
特性 | WSL | VMware Workstation | VirtualBox |
---|---|---|---|
性能 | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐ | ⭐⭐⭐ |
GPU 支持 | ⭐⭐⭐⭐ | ⭐⭐⭐⭐ | ⭐ |
易用性 | ⭐⭐⭐⭐⭐ | ⭐⭐⭐ | ⭐⭐⭐ |
免费使用 | ⭐⭐⭐⭐⭐ | ⭐ | ⭐⭐⭐⭐⭐ |
通过联网直接使用 ollama 下载并运行千问等大语言模型,同时结合 OpenWebUI 提供的便捷交互界面,用户可以快速搭建 AI 实验环境。借助反向代理和端口转发的优化配置,还能够轻松实现局域网内访问,从而为开发和实验提供更高效的支持。未来可以通过进一步优化自动化脚本和硬件配置,让 WSL 成为本地 AI 部署的最佳选择。
为开发者提供解决问题的思路:
启发具体问题的解决方案:
本文旨在通过分享实践心得与创新思考,助力你在技术探索的征途中,轻松跨越障碍,加速实验进程,让创意与成果璀璨绽放。