本地DeepSeek部署实战:局域网访问与API对外开放技巧
| 原创作者/编辑:凯哥Java | 分类:人工智能学习系列教程
GitHub上deepseek-r1截图
PS:本文是本地化部署DeepSeek系列教程第四篇。本系列共计5篇文章,最终,我们讲实操在Windows操作系统和Mac操作系统实现本地部署DeepSeek-R1大模型。
首页_凯哥Java - java基础;spring boot学习;微服务;Java教程;Java web;kaigejava;凯哥Java - 凯哥Java
本系列教程其他文章,还在文章末尾添加。欢迎系统学习
在前面文章中,咱们已经在自己本地部署了deepseek了,那么在同一个局域网中的其他电脑怎么访问?模型提供的API怎么对外访问呢?
通过前面文章介绍,我们已经在本地部署了deepseek,并且通过localhost或者是127.0.0.1可以正常访问到。但是,如果我们想要把这个本地部署的服务给别人使用,就会发现访问不了。同时,如果我们想要把本地的大模型通过API方式对外提供服务,通过IP访问不了。怎么办呢?本文,咱们就来解决这些问题。
在解决这个问题前,咱们先要知道Ollama的环境变了及作用。
Ollama环境变量介绍
Ollama环境变量全解析
环境变量功能说明默认值/示例
OLLAMA_HOST设置API服务监听地址与端口,0.0.0.0表示允许所有IP访问0.0.0.0:11434
OLLAMA_ORIGINS允许跨域请求的域名列表,*为通配符*
OLLAMA_MODELS自定义模型存储路径,避免占用系统盘空间D:\ollama_models
OLLAMA_KEEP_ALIVE控制模型在内存中的保留时间,减少重复加载开销24h(24小时)
OLLAMA_NUM_PARALLEL并行处理请求数,提升高并发场景下的吞吐量2
OLLAMA_DEBUG启用调试日志,排查服务异常1(开启)
OLLAMA_GPU_OVERHEAD扩展显存不足时,利用RAM/VRAM混合加载大模型(需手动计算显存值)81920000000(80GB)
为什么需要配置OLLAMA_HOST及OLLAMA_ORIGINS?
1. 突破本地限制:局域网访问
默认情况下,Ollama仅监听127.0.0.1:11434,仅允许本机访问。通过设置OLLAMA_HOST=0.0.0.0:端口号,可将服务绑定到所有网络接口,实现局域网内多设备共享模型资源。
2. 解决跨域问题:Web UI集成
浏览器安全策略会阻止跨域请求,例如使用Open WebUI或LobeChat等前端工具时。配置OLLAMA_ORIGINS=*(允许所有来源)或指定域名列表(如"http://localhost:3000,http://yourdomain.com"),可解除跨域限制。
3. 安全与性能平衡
开放访问需权衡风险,建议结合防火墙规则限制IP范围,或通过反向代理(如Nginx)添加HTTPS加密层。
三、跨系统环境变量配置指南
1. Windows系统
步骤1:右键“此电脑” → 属性 → 高级系统设置 → 环境变量 → 用户变量 → 新建变量。
步骤2:添加关键变量(如OLLAMA_HOST和OLLAMA_ORIGINS),保存后需彻底重启Ollama服务(通过任务管理器终止进程后重新启动)。
实战技巧:若模型路径含空格,需使用双引号包裹路径值(如"E:\AI Models\Ollama")。
2. Linux系统(Systemd管理)
步骤1:编辑服务文件:
sudo vim /etc/systemd/system/ollama.service
复制
步骤2:在[Service]段添加环境变量:
Environment="OLLAMA_HOST=0.0.0.0:11434"Environment="OLLAMA_ORIGINS=*"
复制
步骤3:重载配置并重启服务:
sudo systemctl daemon-reload
sudo systemctl restart ollama
复制
3. macOS系统
永久配置:编辑.bash_profile或.zshrc:
export OLLAMA_HOST=0.0.0.0:11434export OLLAMA_ORIGINS="*"
复制
临时生效:使用launchctl命令(重启后失效):
launchctl setenv OLLAMA_HOST 0.0.0.0:11434launchctl setenv OLLAMA_ORIGINS "*"
复制
四、实战:DeepSeek模型部署与API开放
场景需求
在局域网内共享DeepSeek-R1模型
允许前端应用通过http://192.168.1.100:8080调用API
配置步骤
设置环境变量(Windows示例):
需要修改如下三个环境变量
OLLAMA_HOST=0.0.0.0:8080OLLAMA_ORIGINS=*OLLAMA_MODELS=G:\DeepSeek_Models
复制
编辑环境变量,然后添加如下:
重启服务并加载模型:
ollama run deepseek-r1:671b
验证API可用性:
curl http://192.168.1.100:8080/api/generate -d '{"model":"deepseek-r1:671b", "prompt":"你好"}'
复制
性能优化建议
使用OLLAMA_KEEP_ALIVE=48h减少频繁模型加载
结合OLLAMA_NUM_PARALLEL=4提升并发处理能力913
五、常见问题与解决方案
环境变量未生效
Windows:检查进程是否完全重启,避免残留旧配置15。
macOS:使用env | grep OLLAMA确认变量已加载,或尝试launchctl临时方案8。
跨域配置错误
若前端仍报CORS错误,检查OLLAMA_ORIGINS是否包含协议和端口(如http://localhost:3000)8。
端口冲突
通过netstat -ano | findstr :8080(Windows)或lsof -i :8080(Linux/macOS)排查占用端口。
通过合理配置环境变量,Ollama可轻松实现从单机工具到团队协作平台的转型。掌握这些技巧后,开发者不仅能高效管理本地大模型,还能将其无缝集成至更复杂的AI应用生态中。
填坑操作
在之前本地部署后,想要通过ip访问ollama-web-ui,发现不能正常访问。其实这里有个小小的坑。那就是ollama-web-ui中把访问Ollama的ip写死了。具体修改地方: 使用编辑器或者是文本编辑找到constants.ts文件,然后如下图修改就可以了。
修改完成之后,重启ollama-webui就可以了。