简介针对Ollama本地私有化部署的安装指导小资源适合需要在Linux/macOS环境快速完成大模型运行平台搭建的中初级开发者或运维人员。压缩包仅13KB由3个文件构成包括1个txt说明文档、1个sh安装脚本和1个php下载入口脚本shell脚本负责环境检测、依赖安装与执行安装流程php脚本提供Web端获取安装包的路径txt文档则整理了系统版本、硬件要求、下载步骤、常见报错和分步验证方法。已有437人浏览学习。资源体量轻但路径完整覆盖安装前环境确认、脚本执行、配置修改、启动服务及验证是否成功的整个环节还涉及自定义安装脚本以适配不同环境的思路能够帮助使用者提前规避依赖缺失、权限不足等典型问题节省排查时间适合作为随身速查手册或自动化安装模板反复参考。1. 说在前面为什么我要专门写 ollama 安装而不只是给一条命令每次群里有人问 ollama 安装我第一句话一定问他模型准备放哪个盘十个人里有八个答不上来。官方文档给的那条命令执行很快但命令跑完之后模型下载慢、C 盘爆掉、重启后服务丢配置、AnythingLLM 连不上——这些才是真正卡人的地方。ollama 安装这件事重点从来不是“能不能装完”而是装完之后模型落哪个目录、下载走哪条链路、服务怎么常驻、客户端填什么地址。这篇笔记把安装拆成在线、离线、脚本三条路径适合想真在本地跑私有大模型的人。不管你是接 AnythingLLM 搭知识库还是只想把 qwen 系列下到本地试一圈先把安装和路径定死后面才不返工。2. 先把选型想清楚Ollama 是什么装完它到底动了你电脑的哪些地方2.1 本地部署的三种姿势Ollama、Docker、裸 llama.cpp到底差在哪要装之前先把一件事说破Ollama 本身不是一个模型它是一层把模型下载、GGUF 文件管理、llama.cpp 运行时和 HTTP API 全包在一起的运行时。你想在本地把一个 7B 模型跑起来一般有三条路。第一条路是用 llama.cpp 源码自己编译把 GGUF 文件直接喂给底层推理引擎再用代码控制上下文长度、采样参数、GPU 层数。这条路控制力最强但你要自己配置 CUDA、OpenBLAS 和编译工具链还得自己管模型放在哪、进程怎么并发访问。适合本来就在做推理服务的团队不适合只想在桌面机上试模型的人。第二条路是用 Docker 跑镜像把 llama.cpp 或者 vLLM 封装成容器。隔离性好、部署可复现但如果只是本机单用户用为了这个单独维护容器网络和挂载目录反而把简单问题搞复杂。第三条路才是 Ollama一条ollama pull拉模型一条ollama run起对话默认监听 11434 端口对外提供一套类似 OpenAI 风格的接口。我拆 Ollama 安装资源时看得最多的不是它做了什么而是它替你藏了什么。ollama pull看起来像一句命令背后牵涉 registry 访问、manifest 解析、分块下载、blobs 落盘这一整条链路。下表把本地部署三种姿势摆一起你能一眼看出什么时候该选 Ollama维度OllamaDocker 镜像裸 llama.cpp模型下载内置 registry 下载自己拉模型文件自己找文件目录管理.ollama/models自动管理挂载卷自己定自己定API 暴露自带 11434 HTTP API需要额外服务自己写服务上手成本低中高控制粒度中中高最高从“ollama本地部署大模型”这类诉求里能看出大部分人真正要的不是极限性能而是“模型能跑、能访问、别把系统盘搞爆”。所以我默认推荐 Ollama但你要清楚它替你藏了哪些默认值后面才不会踩坑。2.2 安装器装完你的电脑多了哪些东西目录、端口、服务与数据层级我每次拆安装包第一件事是看它往系统里落了什么。无论你是从官网下安装器还是用资源里的离线包装完基本都会多出这几样东西关注点Windows 默认位置Linux 默认位置说明可执行文件%LOCALAPPDATA%\Programs\Ollama/usr/local/bin/ollama装完是否进 PATH 由安装器决定数据根目录%USERPROFILE%\.ollama~/.ollama包含 models、logs 等模型文件.ollama\models\blobs.ollama/models/blobs真正的权重文件在这服务进程托盘程序 Ollama.exesystemd 单元 ollama.service决定开机是否自启监听端口127.0.0.1:11434127.0.0.1:11434默认只绑回环地址有一个细节绝大多数人没注意Windows 官方安装器根本不给你选安装目录默认落在%LOCALAPPDATA%\Programs\Ollama。所以热搜里那句“ollama怎么安装在d盘”其实是不完整的问法——你真正能改的是模型数据目录而不是可执行文件目录。我更推荐的做法是保留安装器默认位置把OLLAMA_MODELS指到 D 盘这样升级 Ollama 时不会把模型目录冲掉。再往深一层聊数据层级。.ollama/models下有两个关键子目录manifests存模型元数据 JSONblobs存实际权重文件。blobs里的文件是分块存储的一个模型在磁盘上可能被拆成几十个 blob 文件。你ollama list看到的是完整 tag但底层文件并不像 QQ 下载那样整整齐齐一个文件夹。这也解释了为什么“把某个模型文件拷走”是错误操作——你只拷 manifest不拷 blobs模型照样跑不起来。端口方面Ollama 默认只监听127.0.0.1这个设计是安全的。如果你想让局域网内另一台机器访问要手动把OLLAMA_HOST改成0.0.0.0否则客户端里填同一网段 IP 也连不上。2.3 三种安装形态在线安装器、离线包、命令行脚本怎么选Ollama 的安装渠道大致分三类Windows 在线安装器.exe、离线安装包Windows 的 zip、Linux 的 deb/rpm、以及 Linux 上官方推荐的一键脚本。# 官方在线安装脚本适用于能直连外网的 Linux 服务器 curl -fsSL https://ollama.com/install.sh | sh逻辑说明这条命令会下载一段 shell 脚本脚本里包含二进制解压、systemd 服务注册、当前用户组检查。整个过程不是单纯的“把一个文件复制到/usr/local/bin”这么简单所以不建议你从网页里抄一段就来跑。参数说明这条命令需要 root 权限没 root 时会让你配合 sudo 执行装完后立即用ollama --version确认二进制版本。三条路径的适用场景差异很大。在线安装器适合桌面机装完还有图形托盘方便退出和重启。离线包适合生产内网机器不连公网也能把二进制装好。一键脚本适合 Linux 服务器批量装几十台机器可以用同一套脚本统一下发。我一般会这么选Windows 桌面用安装器装完立刻改OLLAMA_MODELSLinux 服务器如果可以联网优先用资源里整理好的一键脚本内网隔离环境就用 dpkg 离线包。顺序别反——先想好数据盘再安装软件能省一次整体搬迁。2.4 WSL 和 Docker 两种“变体环境”什么时候才需要单独装还有一种情况经常被混在一起在 WSL 里装 Ollama和在 Docker 里跑 Ollama是两个不同的问题。WSL 里装 Ollama本质是装一个 Linux 版本的二进制但你在 Windows 托盘里看不到它服务生命周期由 WSL 发行版控制。如果你看到“wsl install太慢了”这类抱怨先分清慢在哪一步wsl --install要拉发行版镜像速度取决于微软服务而装完发行版之后跑curl -fsSL https://ollama.com/install.sh | sh速度取决于你访问外网的情况。这两件事不要混为一谈。Docker 里跑 Ollama 是用来做服务隔离的典型命令是docker run -d -v ollama:/root/.ollama -p 11434:11434 ollama/ollama。这里的关键点在挂载卷容器删除时模型数据要留在卷里否则一删容器模型全没。正因为这两类环境都有额外变量我建议新手先老老实实在本机装原生版跑通链路后再谈容器化和 WSL。3. 安装落地从 D 盘、离线包到 GGUF 手动导入3.1 动手前 10 分钟环境变量决定模型去向OLLAMA_MODELS 不是摆设安装从来不是双击 exe 那一刻开始而是从“模型数据往哪放”开始。我先给结论把OLLAMA_MODELS指到一个独立数据盘比装完再搬省事得多。Windows 下用 PowerShell 设置用户级环境变量# 1. 在 D 盘建好模型根目录 New-Item -ItemType Directory -Path D:\ollama\models -Force # 2. 写进用户环境变量目标数据目录 [Environment]::SetEnvironmentVariable(OLLAMA_MODELS, D:\ollama\models, User) # 3. 新开一个终端确认变量已经生效 echo $env:OLLAMA_MODELS逻辑说明Ollama 启动时会读OLLAMA_MODELS这个环境变量把它当作模型数据的根目录。默认情况下这个变量不存在程序回落到%USERPROFILE%\.ollama\models结果就是模型全部堆在 C 盘。SetEnvironmentVariable第三个参数传User表示只改当前用户的环境变量不需要管理员权限。参数说明路径要用D:\ollama\models这种完整路径不要带末尾反斜杠目录不存在没关系程序会自己创建但我习惯先建好方便确认权限没问题。改完环境变量只是第一步。你必须把 Ollama 托盘程序完全退出再重新打开或者干脆重启电脑。很多“明明设了变量还是下到 C 盘”的翻车现场都是因为后台进程没有重新读取环境变量。还有一个容易忽略的点OLLAMA_MODELS指的是数据根目录不是models子目录的上一级。有人把变量设成D:\ollama结果 Ollama 会把D:\ollama\.ollama\models当真正的数据路径等于白设。3.2 离线安装断网内网怎么装deb 包和 zip 包的差别内网隔离环境里装 Ollama最常见物料是 deb/rpm 包和 Windows zip 包。资源里我把离线安装脚本整理成了一套核心思路是一致的先把二进制装好再通过本地介质导入模型全程不依赖外网。以 Ubuntu/Debian 为例一套标准操作# 先确认机器架构x86 选 amd64 包ARM 机器选 arm64 包 uname -m # 安装 deb 包二进制落到 /usr/local/bin sudo dpkg -i ollama-linux-amd64.deb # 安装完立刻看 systemd 服务是否注册成功 systemctl status ollama逻辑说明Linux 在线安装脚本和离线包的差别不只是“有没有网络”而是脚本会主动做 systemd 注册离线包也要复现这一步。dpkg -i装完官方 deb 包会自动带出.service文件所以装完先看systemctl status ollama如果显示active (running)说明进程已经起来了。这个时候别急着跑ollama list先改服务级环境变量sudo systemctl edit ollama在弹出的编辑窗口里写[Service] EnvironmentOLLAMA_MODELS/data/ollama/models保存后重启服务sudo systemctl restart ollama这样配置的好处是所有变量集中写进 systemd 的 override 文件不会散落在/etc/environment里。等哪天排查问题systemctl cat ollama一眼能看到服务实际启动参数。Windows 离线包略有不同zip 包解压后没有安装程序不会自动把可执行文件加进 PATH需要你手动把解压目录加进系统环境变量。装完同样要设置OLLAMA_MODELS逻辑和 3.1 一致。3.3 国内网络下模型下载太慢用 GGUF 手动导入绕开默认仓库很多热词都指向同一个痛点“ollama下载太慢”“ollama国内镜像源”“ollama下载模型国内镜像”。先说机制ollama pull qwen3:8b不是直接从某个文件服务器下载一个整文件而是先访问 Ollama 托管 registry 拿 manifest再按层从 CDN 拉取。国内网络环境下最常见的问题是卡在pulling manifest或者某个 layer 下载到 60% 后一直不动。我一般不会干等。更稳定的做法是绕开默认 registry从 ModelScope 这类国内直连的模型平台把 GGUF 文件下载下来再通过 Ollama 的本地导入功能把模型记录进去。具体是这样# 1. 假设 GGUF 文件已经在本地 ./qwen3-8b-q4_k_m.gguf mkdir -p ~/model-import cd ~/model-import # 2. 写一个最小 ModelfileFROM 指向本地 GGUF cat Modelfile EOF FROM ./qwen3-8b-q4_k_m.gguf EOF # 3. 从本地文件创建模型 tag ollama create local-qwen3 -f Modelfile # 4. 验证模型已经出现在本地列表 ollama list逻辑说明ollama create会把 Modelfile 里FROM指向的 GGUF 文件打包进本地模型仓生成一个能够在ollama run里直接使用的 tag。这样做的好处是下载链路完全由你自己把控不再撞默认 registry。参数说明FROM后面写相对路径或绝对路径都行但我建议写绝对路径因为 Modelfile 是给ollama create用的工作目录不同时相对路径容易踩到“找不到文件”。q4_k_m是量化格式显存 8G 左右用q4_k_m24G 以上想追求质量可以下载q8_0。这种方式还有另一个用处你想用自己微调出的 GGUF 文件部署时ollama create是必经路径。它不只是“国内加速”手段更是把任意本地模型文件纳入 Ollama 管理的入口。3.4 WSL 里跑 Ollama 要单独过的三个边界WSL 里装 Ollama 的步骤和在真 Linux 上几乎一样但有几个边界只有 WSL 才会碰到。第一是wsl --install太慢这个动作从微软服务拉取发行版慢不慢和 Ollama 无关归网络环境管。我可以给你的建议是先跑wsl --version确认 WSL 内核版本正常再谈后续。第二WSL 2 是虚拟机网络Windows 上的localhost:11434能不能直接通到 WSL 里的 Ollama取决于 WSL 的 localhost forwarding 是否开启。多数情况下 Windows 侧访问 WSL 里127.0.0.1:11434是通的但若你改了 WSL 的网络模式这条通道就可能断。第三数据盘挂载。WSL 里的 Linux 文件系统默认放在虚拟磁盘里路径访问来自 Windows 的/mnt/d/很慢所以模型目录放在/mnt/d/对推理性能不友好。正确的是在 WSL 内部目录放模型例如~/ollama/models让 WSL 的 ext4 文件系统直接访问。这三个边界里前两个属于环境问题第三个直接影响推理性能。如果你已经被“wsl install太慢了怎么解决”折腾过一轮我更要建议先在 WSL 里装原版跑通等真正需要和 Windows 侧集成时再回头配置网络和挂载。3.5 接 AnythingLLM 当知识库后端填 URL 最容易翻车AnythingLLM 是经常和 Ollama 搭在一起的客户端它自己不包含大模型推理能力而是把 Ollama 当后端调。配置界面里选 Ollama provider填 Base URL 和模型 tag看起来很简单但翻车率极高。# AnythingLLM 如果用 Docker 启动环境变量配置示例 OLLAMA_BASE_URLhttp://host.docker.internal:11434 OLLAMA_MODELlocal-qwen3逻辑说明AnythingLLM 的容器里写http://localhost:11434连不到宿主机因为容器里的 localhost 指向容器自身必须用host.docker.internal这种 Docker 提供给容器的宿主机别名。桌面版不关心这个问题直接填http://localhost:11434就行。OLLAMA_MODEL填的必须是ollama list里出现过的 tag填错会报model not found。参数说明如果你把OLLAMA_HOST改成了0.0.0.0:11434AnythingLLM 里要同步填对应端口。我见过有人把 Ollama 端口改成别的值结果 AnythingLLM 里还写 11434测试连接一直超时。原理上 AnythingLLM 只是发 HTTP 请求到/api/chat只要你确信curl http://your-host:port/api/tags能返回 JSONAnythingLLM 这边基本就没问题。4. 模型管理实战下载、搬目录、关掉“思考”4.1 pull 模型前先读懂 tag别让 latest 害了你拿到 Ollama 后第一件事通常是拉一个能对话的模型。命令本身不复杂# 拉指定版本不要用 latest ollama pull qwen3:8b # 查看本地模型列表 ollama list # 查看模型细节量化、上下文、参数规模 ollama show qwen3:8b逻辑说明ollama pull后面跟的是模型 tagtag 由模型名和版本组成中间用冒号分隔。latest是一个动态标签官方可能会更新它指向的文件下次 pull 时你可能拿到不同量化版本这对复现不友好。参数说明ollama show输出里重点看Quantization和Context Length这两个字段决定模型能不能在你当前显存里跑起来。8G 显存建议qwen2.5:7b或qwen3:4b16G 可以用qwen2.5:14b24G 以上再考虑qwen3:32b。很多人第一次用的时候会把 tag 写错。qwen3:8b和qwen2.5:7b是两个不同模型前者是新的 reasoning 系列后者是传统 instruct 系列。如果你只想要普通对话不想要思考过程直接用qwen2.5:7b更省事。要是已经 pull 了qwen3:8b又不想看到大段思考请直接看 4.3 节。4.2 模型已经躺在 C 盘整体搬迁的三种手法如果你没在安装前设置OLLAMA_MODELS模型已经堆在 C 盘还有补救办法。整个.ollama目录可以整体搬迁关键在于顺序先停服务再搬目录后改配置顺序反了会因为 manifest 和 blobs 错位而出错。Linux 下整体搬迁# 1. 停掉服务避免模型文件被占用 sudo systemctl stop ollama # 2. 整个数据根目录搬走 mv ~/.ollama /data/ollama/.ollama # 3. 修改服务环境变量后重启 sudo systemctl edit ollama # 在文件里写入 EnvironmentOLLAMA_MODELS/data/ollama/.ollama sudo systemctl restart ollama # 4. 确认模型还在 ollama listWindows 下我习惯用 robocopy因为它的/MOVE参数能搬完自动清理源文件而且长路径处理比普通move稳robocopy C:\Users\你的用户名\.ollama D:\ollama\.ollama /E /MOVE逻辑说明.ollama目录下的manifests和blobs必须同时移动搬一半会导致“文件存在但模型跑不起来”。环境变量OLLAMA_MODELS要指向数据根目录本身也就是.ollama而不是它的上一级。许多人把OLLAMA_MODELS设成D:\ollama\models这种“自以为是”的路径结果服务重启后又在 C 盘新建了一套目录。搬迁完成后可以用ollama list做第一重验证如果列表和搬迁前一致说明 manifest 和 blobs 都对上了。4.3 强制 Qwen 类模型“不思考”Modelfile 里塞 stop 参数现在 qwen 系的 reasoning 模型默认会在回答前先输出一段思考过程很多人不想要这段内容。热搜里那句“ollama 怎么强制 qwen3.5-9b-q4_k_m 不思考”本质就是要解决这个场景。Ollama 里最快的办法是做一个定制 tag把思考起始 token 设置为停止位。# Modelfile FROM qwen3:8b PARAMETER stop |start_thinking|ollama create qwen3-no-think -f Modelfile逻辑说明qwen 的推理模板里|start_thinking|是思考阶段的起始 token。把这段字符串加入stop参数后模型输出到这个 token 会被强制截断后续的思考内容就不会出现。实际使用中模型的最终回复会跳过思考段直接给结论响应时长明显变短代价是复杂推理题目的质量会下降。参数说明stop参数支持多个值如果你想彻底禁用思考段还可以把|end_thinking|也加进去写成两行PARAMETER stop。注意不要在原始模型上改一定要通过ollama create生成新 tag因为ollama run qwen3:8b永远使用模型自带的模板。4.4 私有化部署选型看显存、看量化也要看上下文长度最后说选型。本地部署私有大模型最硬性的约束是显存其次是内存带宽。下面这张表是我在实际环境里跑过的经验值显存可跑模型建议量化上下文建议8GBqwen2.5:7b / qwen3:4bq4_k_m4K 左右16GBqwen2.5:14bq4_k_m8K 左右24GBqwen3:14bq8_08K 起步32GBqwen3:32bq4_k_m 或 q8_016K 视情况上下文长度是很多人忽略的隐性成本。Ollama 默认上下文长度跟着模型自身设定走但你可以用OLLAMA_CONTEXT_LENGTH或者 Modelfile 里的PARAMETER num_ctx调整。把上下文从 4K 拉到 32KKV cache 会多占几个 G 显存原来能跑的模型规模就要往下降。判断方式是先ollama show看模型参数再跑一次ollama run实测首 token 延迟。我的原则是优先保证推理速度再谈上下文大小不要一上来就把参数拉满。5. 避坑手册ollama 安装、下载、接入里的真实翻车记录5.1 装了但终端里敲ollama报“不是内部或外部命令”现象Windows 安装器跑完新开终端执行ollama --version提示命令不存在。原因安装器没有把%LOCALAPPDATA%\Programs\Ollama写进当前会话的 PATH或者你手动解压了 zip 包但没有添加路径。解决手动执行一次$env:Path ;$env:LOCALAPPDATA\Programs\Ollama可以临时验证想永久解决用“系统属性 - 环境变量”把%LOCALAPPDATA%\Programs\Ollama追加进 PATH。Linux 下如果是 tar 解压而不是 dpkg 安装常见原因同样是/usr/local/bin不在 PATH 里。5.2ollama pull卡在pulling manifest或下载到一半不动现象下载进度停在 57% 之类的位置等待很久不动或者直接报temporary failure in name resolution。原因默认 registry 在你的网络环境下不通畅这并不代表软件装坏了。pulling manifest是 Ollama 在请求 model 元数据这个域名不通就永远卡在这一步。解决先curl -I https://registry.ollama.ai确认连通性。如果通但很慢换一个网络环境再试一次。如果确实连不上按 3.3 节的思路从 ModelScope 这类国内直连的源下载 GGUF然后用ollama create导入。不要在同一网络里反复重试浪费时间影响士气。5.3 重启电脑后 Ollama 服务还在但ollama run报模型找不到现象重启后ollama list能看到模型名但ollama run qwen3:8b直接报model not found或者文件路径错误。原因OLLAMA_MODELS指向了某个旧目录后台服务启动时读取的路径和你终端里看到的不一致。解决先把托盘程序完全退出然后确认环境变量指向的路径下确实有manifests和blobs。更直接的办法是用ollama serve在前台启动看它打出的日志里写的models-dir是哪个路径和实际路径对照。这个操作能一锤定音很多环境变量“看起来改了”的玄学问题都靠它暴露。5.4 AnythingLLM 连不上 Ollama报 connection refused现象AnythingLLM 配置页面测试连接失败报connection refused或base url not reachable。原因桌面版和 Docker 版对localhost的语义不同再一种可能是 Ollama 的OLLAMA_HOST被改过端口不是 11434。解决桌面版先确认curl http://localhost:11434/api/tags能返回 JSON能返回说明 Ollama 正常问题在 AnythingLLM 填错Docker 版把地址换成http://host.docker.internal:11434。如果 Ollama 改了监听端口AnythingLLM 里的 Base URL 要同步改。5.5 搬目录后 D 盘出现两份模型路径看着对但服务还在写 C 盘现象把.ollama搬到 D 盘后检查 D 盘确实有 manifests但 C 盘又增加了几百 MB服务仍在往 C 盘写。原因OLLAMA_MODELS设置成了D:\ollama\models而 Ollama 期望的数据根目录是D:\ollama\.ollama。路径层级错了一级等于没改。解决把变量修正为OLLAMA_MODELSD:\ollama\.ollama重启服务然后清理 C 盘原来的.ollama目录。这个坑我反复踩过所以我现在每次搬迁完都会跑一遍“目录树 ollama list”双重确认不再凭感觉判断。6. 最后一个技巧装完先做一套“三连验证”再去谈部署完成很多初学者装完 Ollama看到托盘图标就以为大功告成结果第二天一调用就卡壳。我的习惯是无论装哪台机器装完立刻做一套三连验证花三分钟省掉后面一整天。第一步验证二进制。执行ollama --version能返回版本号说明程序本体和环境变量都正常。第二步验证服务。执行curl http://127.0.0.1:11434/api/tags能返回 JSON 说明 API 服务已经起来了返回里能看到本地模型列表。第三步验证真实推理用 curl 调一次/api/generatecurl -s http://127.0.0.1:11434/api/generate -d { model: qwen3:8b, prompt: 你好用一句话说明你是谁, stream: false }逻辑说明stream: false表示等模型把完整回答生成完再一次性返回这样你能看到response字段和total_duration两个关键值。total_duration是模型从接收到生成完毕的总耗时如果这个值异常大多半是模型在 CPU 上跑或者上下文设置过长。参数说明model字段必须和ollama list里的 tag 完全一致写错会直接报错。三连验证通过后我还会多做一件事把进程、端口、模型目录三个状态写进一个.env文件下次部署时直接 source 这份配置。这样到了新机器只要确认路径、执行ollama serve、拉一次日志整个启动过程就可控了。从那以后我每次重装 Ollama 都会强制走一遍“查二进制、curl API、跑一次生成”这三步最后才敢说部署完成。这篇笔记如果能帮你在本地把 ollama 安装、模型下载和路径管理这一套走通少撞几回我撞过的墙那这份资源就没白拆。希望帮到你。本文还有配套的精品资源点击获取
