1. 为什么需要手动离线部署Ollama

最近在帮团队搭建本地AI开发环境时,遇到了一个典型问题:官方提供的Ollama安装脚本执行起来像蜗牛爬行,经常卡在下载环节。这种情况在国内开发者中相当普遍,主要原因包括网络延迟、下载速度限制等。官方推荐的curl安装方式虽然简单,但在特殊网络环境下反而成了最大的障碍。

手动离线部署的核心思路很简单:先把安装包完整下载到本地,再通过修改官方脚本实现无网络依赖的安装。这种方式不仅解决了网络问题,还能保留官方脚本的完整性检查、依赖安装等关键功能。我实测下来,原本需要几小时的安装过程,用离线方式15分钟就能搞定。

2. 准备工作与环境检查

2.1 硬件与系统要求

在开始之前,建议先确认你的设备满足以下条件:

  • 操作系统:Linux(x86_64/ARM)、macOS或Windows(WSL2)
  • 内存:至少8GB(运行7B模型的最低要求)
  • 存储空间:建议预留50GB以上(模型文件通常很大)

可以通过这些命令快速检查系统信息:

# 查看CPU架构
uname -m
# 查看内存大小
free -h
# 查看磁盘空间
df -h

2.2 手动下载安装包

官方发布页提供了各平台的编译版本:

  1. 打开GitHub Releases页面
  2. 根据你的系统选择对应版本:
    • Linux系统:ollama-linux-amd64.tgz
    • macOS:ollama-darwin-amd64.tgz
    • Windows:ollama-windows-amd64.exe

建议将下载的压缩包放在专用目录,比如:

mkdir -p /var/ollama
mv ~/Downloads/ollama-linux-amd64.tgz /var/ollama/

3. 修改官方安装脚本

3.1 获取原始安装脚本

即使选择离线安装,官方脚本仍然很有价值:

cd /var/ollama
curl https://ollama.com/install.sh -o install.sh

3.2 关键修改步骤

用文本编辑器打开install.sh,找到以下关键部分:

  1. 注释掉所有在线下载代码块(约第50-70行)
  2. 在install_success()函数前添加本地解压命令:
$SUDO tar -xzf ollama-linux-amd64.tgz -C "$OLLAMA_INSTALL_DIR"

修改后的脚本结构应该是:

# 原下载代码被注释
# curl --fail --show-error --location --progress-bar \
# "https://ollama.com/download/ollama-linux-${ARCH}.tgz${VER_PARAM}" | \
# $SUDO tar -xzf - -C "$OLLAMA_INSTALL_DIR"

# 新增本地解压命令
$SUDO tar -xzf ollama-linux-amd64.tgz -C "$OLLAMA_INSTALL_DIR"

install_success() {
  # 原有内容保持不变
}

4. 执行安装与验证

4.1 运行安装脚本

确保安装包和脚本在同一目录后:

chmod +x install.sh
sudo ./install.sh

成功安装后会看到类似输出:

>>> Download complete.
>>> Installing Ollama to /usr/local/bin...
>>> Creating ollama user...
>>> Ollama installed successfully.

4.2 服务状态检查

验证服务是否正常运行:

systemctl status ollama
# 或手动启动
ollama serve &

检查端口监听情况:

netstat -ltnp | grep ollama
# 正常应看到11434端口监听

5. 高级配置技巧

5.1 修改模型存储路径

默认模型存储在~/.ollama,要更改位置:

sudo mkdir -p /var/ollama-models
sudo chown -R ollama:ollama /var/ollama-models

编辑环境变量配置:

sudo vim /etc/profile
# 添加以下内容
export OLLAMA_MODELS=/var/ollama-models
export OLLAMA_HOST=0.0.0.0:11434

使配置生效:

source /etc/profile
sudo systemctl restart ollama

5.2 远程访问配置

如果需要从其他设备访问:

  1. 确保防火墙放行11434端口
  2. 测试远程连接:
curl http://服务器IP:11434/api/tags

6. 模型管理与应用

6.1 离线导入模型

对于已有模型文件(.bin格式):

ollama create mymodel -f Modelfile
ollama push mymodel

6.2 常用开发接口

Python调用示例(使用LangChain):

from langchain_ollama import ChatOllama

llm = ChatOllama(
    model="qwen2.5:7b",
    base_url="http://localhost:11434"
)
response = llm.invoke("解释量子计算")

7. 常见问题排查

7.1 安装失败处理

如果遇到权限问题:

sudo chown -R ollama:ollama /var/ollama
sudo systemctl restart ollama

7.2 模型加载异常

检查模型完整性:

ollama list
ollama pull --insecure qwen2.5:7b

日志查看命令:

journalctl -u ollama -f

8. 性能优化建议

对于生产环境部署:

  1. 使用Nginx反向代理添加HTTPS支持
  2. 配置模型缓存策略
  3. 设置资源限制防止OOM:
sudo vim /etc/systemd/system/ollama.service.d/limits.conf
# 添加内存限制
[Service]
MemoryLimit=16G
Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐