在 AI 应用日益普及的今天,Ollama 作为本地大语言模型运行工具备受开发者青睐。然而,默认情况下 Ollama 只监听本地回环地址,无法被局域网内其他设备访问。本文将详细介绍如何在 macOS 上配置 Ollama,使其支持局域网访问。
问题背景
默认情况下,Ollama 服务只绑定到 127.0.0.1:11434
,这意味着只有本机可以访问该服务。如果你希望在局域网内的其他设备(如手机、平板或其他电脑)上使用 Ollama 服务,就需要配置 Ollama 监听所有网络接口。
核心解决方案
要让 Ollama 监听所有网络接口,关键是设置环境变量 OLLAMA_HOST=0.0.0.0:11434
。根据不同的启动方式,有两种主要的配置方法。
方法一:GUI 应用启动配置
如果你习惯通过双击 Ollama 应用程序图标来启动服务,推荐使用 launchctl
设置环境变量。
设置步骤
- 打开终端,执行以下命令设置环境变量:
launchctl setenv OLLAMA_HOST 0.0.0.0:11434
- 重新启动 Ollama 应用程序,确保新的环境变量设置生效。
优势特点
- 设置简单,一条命令即可完成
- 系统重启后环境变量依然有效
- 适用于通过 GUI 启动的场景
- 不需要修改任何配置文件
方法二:命令行启动配置
如果你更喜欢通过终端运行 ollama serve
命令启动服务,可以将环境变量添加到 Shell 配置文件中。
配置步骤
- 编辑 Shell 配置文件(以 zsh 为例):
nano ~/.zshrc
- 添加环境变量,在文件末尾添加:
export OLLAMA_HOST=0.0.0.0:11434
- 使配置生效:
source ~/.zshrc
- 启动 Ollama 服务:
ollama serve
适用场景
- 习惯使用命令行操作
- 需要在脚本中自动化启动
- 希望更精细地控制启动过程
- 开发环境中的临时配置
验证配置效果
配置完成后,需要验证 Ollama 是否正确监听指定的网络接口。
检查监听状态
使用以下命令检查 Ollama 是否正在监听 0.0.0.0:11434
:
lsof -iTCP:11434 -sTCP:LISTEN
期望输出示例:
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
ollama 1234 user 8u IPv4 0x1234567890abcdef 0t0 TCP *:11434 (LISTEN)
如果看到类似输出,说明 Ollama 已经成功监听所有网络接口。
局域网访问测试
- 获取本机 IP 地址:
ifconfig | grep "inet " | grep -v 127.0.0.1
- 在其他设备上测试访问:
curl http://YOUR_MAC_IP:11434/api/tags
如果返回模型列表,说明配置成功。