在 Mac 电脑上运行 Ollama 并配置局域网访问需要以下几个步骤

🤖 Assistant

在 Mac 电脑上运行 Ollama 并配置局域网访问

需要以下几个步骤,我会详细介绍每个操作:


1. 安装 Ollama

如果还没安装,先执行以下命令(需要 macOS 10.13+):

BASH
1
2
## 一键安装命令
curl -fsSL https://ollama.com/install.sh | sh

安装完成后,Ollama 服务会自动启动,默认监听 http://localhost:11434


2. 下载模型

Ollama 需要先下载模型文件(如 llama2mistral 等),运行:

BASH
1
2
3
4
5
## 下载 llama2 模型(约 3.8GB)
ollama pull llama2

## 或其他模型,例如 mistral
ollama pull mistral

如果下载慢,可以尝试设置代理:

BASH
1
2
export ALL_PROXY=socks5://127.0.0.1:7890  ## 替换为你的代理端口
ollama pull llama2

3. 启动 Ollama 服务

如果服务未自动启动,手动运行:

BASH
1
ollama serve

服务会持续运行,保持终端窗口打开。


4. 获取 Mac 的局域网 IP 地址

在其他设备访问需要知道 Mac 的局域网 IP:

BASH
1
ifconfig | grep "inet " | grep -v 127.0.0.1

输出类似:

APACHE
1
inet 192.168.1.100 netmask 0xffffff00...

记下 IP 地址(如 192.168.1.100)。


5. 配置防火墙(允许局域网访问)

默认情况下,Ollama 的端口 11434 可能被防火墙阻止,需手动放行:

  1. 打开 系统设置 → 隐私与安全性 → 防火墙
  2. 点击 防火墙选项…
  3. 点击 + 添加 Ollama,路径为 /usr/local/bin/ollama
  4. 确保设置为 允许传入连接

或用命令行临时禁用防火墙测试:

BASH
1
sudo /usr/libexec/ApplicationFirewall/socketfilterfw --setglobalstate off

(测试完成后记得重新启用:--setglobalstate on


6. 启动前端界面

将提供的 HTML/JS 代码保存为本地文件(如 ollama-chat 文件夹),然后启动 HTTP 服务器:

######## 方法1:用 Python 快速启动

BASH
1
2
3
4
5
## 进入代码目录
cd ollama-chat

## 启动 Python HTTP 服务器(默认端口 8000)
python3 -m http.server 8000

######## 方法2:用 Node.js 的 http-server

BASH
1
2
npm install -g http-server
http-server ./ollama-chat -p 8000

7. 局域网访问
  • 在 Mac 本机访问:浏览器打开 http://localhost:8000
  • 在局域网其他设备访问:浏览器打开 http://192.168.1.100:8000(替换为你的 Mac IP)

在前端设置中修改 API 地址为 http://192.168.1.100:11434(你的 Mac IP + Ollama 端口)。


8. 测试 API 连通性

在终端测试 Ollama API 是否可被局域网访问:

BASH
1
2
3
4
curl -X POST http://192.168.1.100:11434/api/generate -d '{
"model": "llama2",
"prompt": "Hello"
}'

如果返回 JSON 响应,则配置成功!


常见问题解决
  1. 连接被拒绝

    • 确认 ollama serve 正在运行
    • 检查防火墙设置
    • 确保 IP 和端口正确
  2. 模型不存在

    • 运行 ollama list 确认已下载的模型
    • ollama pull <模型名> 下载
  3. 跨域问题

    • 如果遇到 CORS 错误,启动 Ollama 时添加参数:
      BASH
      1
      OLLAMA_ORIGINS="*" OLLAMA_HOST=0.0.0.0 ollama serve

完成以上步骤后,你的 Mac 就成为了一个局域网内的 Ollama 服务器,其他设备可通过前端界面访问。