適用於誰
- 搜「ollama 修改模型存儲位置」「ollama 安裝在 d 盤」「windows 更改 ollama 模型存放位置」的人;
- 搜「ollama 局域網訪問」,想讓另一台電腦、手機或 Docker 裏的程序連上本機 Ollama 的人。
本文根據 Ollama 官方 FAQ 和各系統文檔整理,資料核對於 2026-10-11。
結論先說
- Ollama 的服務端配置全部通過環境變量完成,沒有圖形化的「高級設定」頁面可以改這些。
- 改模型位置用
OLLAMA_MODELS,指向你想放模型的文件夾。 - 開放局域網訪問用
OLLAMA_HOST。預設只監聽127.0.0.1:11434(只有本機能訪問),改成0.0.0.0:11434後同一網絡的其他裝置才能連。 - 改完必須重啟 Ollama 才生效,這是最常見的「改了沒用」的原因。
- 開放到網絡之後,Ollama 本身不帶登入驗證,只應在可信的局域網裏這樣用。
常用環境變量
| 變量 | 作用 | 預設值(官方文檔) |
|---|---|---|
OLLAMA_MODELS | 模型文件存放目錄 | macOS ~/.ollama/models;Linux /usr/share/ollama/.ollama/models;Windows C:\Users\用戶名\.ollama\models |
OLLAMA_HOST | 服務監聽的地址和端口 | 127.0.0.1:11434 |
OLLAMA_ORIGINS | 額外允許跨域訪問的來源 | 預設只允許 127.0.0.1 和 0.0.0.0 |
OLLAMA_CONTEXT_LENGTH | 預設上下文長度 | 按顯存自動選:不足 24 GiB 為 4k,24–48 GiB 為 32k,48 GiB 及以上為 256k |
OLLAMA_KEEP_ALIVE | 模型在內存裏保留多久 | 5 分鐘 |
OLLAMA_NUM_PARALLEL | 每個模型同時處理幾個請求 | 1 |
OLLAMA_MAX_LOADED_MODELS | 同時加載幾個模型 | GPU 數量的 3 倍;純 CPU 時為 3 |
OLLAMA_MAX_QUEUE | 忙碌時最多排隊多少請求 | 512 |
OLLAMA_NO_CLOUD | 設為 1 關閉雲端功能,僅本地運行 | 未設定 |
ollama serve --help 可以列出當前版本支持的全部變量。
步驟
Windows:把模型改到 D 盤
官方 Windows 文檔的步驟:
- 在任務欄右下角找到 Ollama 圖標,點開後選擇退出(Quit);
- 打開「設定」(Windows 11)或「控制面板」(Windows 10),搜尋「環境變量」;
- 點「編輯帳戶的環境變量」;
- 在用戶變量裏新建
OLLAMA_MODELS,值填目標文件夾,例如D:\ollama\models; - 點確定儲存;
- 從開始選單重新啟動 Ollama。
驗證:新開一個終端執行 ollama pull 下載任意模型,看文件是否出現在新目錄裏。
已經下載過的模型不會自動搬家。可以在退出 Ollama 的狀態下,把舊目錄(C:\Users\用戶名\.ollama\models)裏的內容整體移動到新目錄;官方文檔沒有專門描述遷移步驟,移動前建議先保留一份,確認 ollama ls 能正常列出後再刪舊文件。
如果連程序本身也不想裝在 C 盤,安裝時用命令行帶上目錄參數:
powershell
OllamaSetup.exe /DIR="d:\some\location"
macOS
Ollama 以應用形式運行時,環境變量要用 launchctl 設定:
bash
launchctl setenv OLLAMA_MODELS "/Volumes/外置盤/ollama-models"
然後退出並重新打開 Ollama 應用。
Linux
用官方腳本安裝的 Ollama 是一個 systemd 服務:
bash
sudo systemctl edit ollama.service
在打開的編輯器裏,於 [Service] 下面加一行(每個變量一行):
ini
[Service]
Environment="OLLAMA_MODELS=/data/ollama/models"
儲存後重載並重啟:
bash
sudo systemctl daemon-reload
sudo systemctl restart ollama
官方特別提醒:標準安裝下服務以 ollama 用戶運行,新目錄必須讓這個用戶可讀寫,否則下載會失敗:
bash
sudo chown -R ollama:ollama /data/ollama/models
開放局域網訪問
把上面步驟裏的變量換成 OLLAMA_HOST,值設為 0.0.0.0:11434:
- Windows:用戶環境變量裏新建
OLLAMA_HOST,值0.0.0.0:11434,重啟 Ollama; - macOS:
launchctl setenv OLLAMA_HOST "0.0.0.0:11434",重啟應用; - Linux:在 service 裏加
Environment="OLLAMA_HOST=0.0.0.0:11434",重載並重啟。
然後在另一台裝置上訪問 http://這台電腦的局域網IP:11434,例如:
bash
curl http://192.168.1.20:11434/api/tags
能返回模型列表就說明通了。連不上時依次檢查:Ollama 是否已重啟;系統防火牆是否放行了 11434 端口;兩台裝置是否在同一個網段。
讓網頁或瀏覽器插件能訪問
瀏覽器裏的頁面調用 Ollama 受跨域限制。官方 FAQ 的做法是設定 OLLAMA_ORIGINS,例如允許所有瀏覽器擴展:
bash
OLLAMA_ORIGINS=chrome-extension://*,moz-extension://*,safari-web-extension://*
也可以只填具體的網頁來源,比全部放開更穩妥。
常見問題
Q:設定了環境變量但沒有生效?
九成是沒有重啟。Windows 上要從任務欄徹底退出再啟動,而且終端窗口也要新開;macOS 要退出應用再打開;Linux 要 daemon-reload 加 restart。另外確認變量加在了用戶變量裏、名字沒有拼錯。
Q:可以直接暴露到公網嗎?
不建議。Ollama 自身沒有帳號和鑑權,任何能訪問到端口的人都能調用你的模型、佔用你的顯卡。官方 FAQ 提到可以放在 Nginx 這類反向代理後面,或者用隧道工具轉發;真要對外提供,至少要在代理層加上訪問控制。
Q:公司網絡要走代理才能下載模型怎麼辦?
官方 FAQ 的說明是設定 HTTPS_PROXY 環境變量,讓 Ollama 拉取模型的請求經過代理,並確保代理的證書已安裝為系統證書。設定方法同上。
Q:WSL 或 Docker 裏連不上 Windows 上的 Ollama?
它們和宿主機不是同一個 localhost。先把 OLLAMA_HOST 改成 0.0.0.0:11434,再在容器裏用宿主機的地址訪問(Docker Desktop 一般是 host.docker.internal)。
Q:卸載 Ollama 會刪掉模型嗎?
官方 Windows 文檔註明:如果你改過 OLLAMA_MODELS,卸載程序不會刪除那裏的模型,需要自己手動刪除。
參考資料
- Ollama 文檔:FAQ(配置服務、模型位置、網絡訪問、並發)— https://docs.ollama.com/faq
- Windows — https://docs.ollama.com/windows
- macOS — https://docs.ollama.com/macos
- Context length — https://docs.ollama.com/context-length
0 條評論
還沒有評論,來搶沙發~