当前位置: 首页 > news >正文

Ollama 服务部署常见配置修改

目录

前言

1. 外部无法访问Ollama服务接口

1.1 检查 Ollama 服务状态

1.2 验证 Ollama API 是否可访问

1.3 常见解决方案

方案 A: 检查 Ollama 绑定地址

方案 B: 通过环境变量启动

1.4 Ollama 服务常见命令

2. 设置 Ollama 加载的模型常驻内存

方法1:设置环境变量(推荐)

方法2:设置模型特定的保持时间

方法3:使用 API 设置模型常驻

参数说明:

3. 设置模型预加载

方法一:创建启动后脚本

方法二:创建专门的systemd服务

方法三:修改现有服务


前言

使用 curl -fsSL https://ollama.com/install.sh | sh 命令部署安装 Ollama 服务。

1. 外部无法访问Ollama服务接口

localhost (127.0.0.1) 可以访问,而局域网 IP (如:192.168.0.131) 无法访问。

这通常是 Ollama 默认只绑定到 localhost 接口导致的。

以下是详细的排查步骤和解决方案:

1.1 检查 Ollama 服务状态

# 在 Ollama 所在的服务器上检查服务状态 systemctl status ollama # 或 sudo service ollama status # 如果服务未运行,启动它 sudo systemctl start ollama # 或 sudo service ollama start

1.2 验证 Ollama API 是否可访问

# 在 Ollama 服务器上测试 API curl http://localhost:11434/api/tags # 或在 Dify 服务器上测试 curl http://192.168.0.131:11434/api/tags

执行 curl http://localhost:11434/api/tags 正常访问

执行 curl http://192.168.0.131:11434/api/tags 报错:

1.3 常见解决方案

方案 A: 检查 Ollama 绑定地址

默认情况下 Ollama 只绑定到 127.0.0.1,需要修改配置:

# 1. 停止 Ollama 服务 sudo systemctl stop ollama # 2. 编辑环境变量文件 sudo nano /etc/systemd/system/ollama.service # 3. 在 [Service] 部分添加 Environment="OLLAMA_HOST=0.0.0.0:11434" Environment="OLLAMA_ORIGINS=*" # 4. 重新加载并启动 sudo systemctl daemon-reload sudo systemctl start ollama # 5. 验证监听地址 netstat -tlnp | grep 11434 # 应该显示 0.0.0.0:11434 而不是 127.0.0.1:11434

方案 B: 通过环境变量启动

# 临时设置 export OLLAMA_HOST=0.0.0.0:11434 ollama serve # 或创建 systemd 配置文件 sudo mkdir -p /etc/systemd/system/ollama.service.d/ sudo nano /etc/systemd/system/ollama.service.d/override.conf

添加内容:

[Service] Environment="OLLAMA_HOST=0.0.0.0:11434" Environment="OLLAMA_ORIGINS=*"

然后重启:

# 重新加载 systemd 并重启服务 sudo systemctl daemon-reload sudo systemctl restart ollama

1.4 Ollama 服务常见命令

# 1. 停止所有ollama相关进程 sudo systemctl stop ollama pkill -9 ollama # 2. 重新加载systemd配置 sudo systemctl daemon-reload # 3. 使用systemd启动ollama服务 sudo systemctl start ollama # 4. 检查服务状态 sudo systemctl status ollama # 5. 设置开机自启 sudo systemctl enable ollama # 6. 查看服务日志 sudo journalctl -u ollama -f # 7. 重启ollama服务 sudo systemctl restart ollama # 8. 验证端口监听情况 sudo netstat -tlnp | grep 11434

2. 设置 Ollama 加载的模型常驻内存

要让 Ollama 模型保持常驻内存(UNTIL 为 Forever),需要调整 Ollama 的配置。以下是几种方法:

方法1:设置环境变量(推荐)

临时设置(当前会话有效):

export OLLAMA_KEEP_ALIVE="24h" # 24小时 # 或者设置为永久 export OLLAMA_KEEP_ALIVE="-1" # 重启 ollama 服务 sudo systemctl restart ollama

永久设置(修改 systemd 配置):

# 编辑服务配置文件 sudo nano /etc/systemd/system/ollama.service

添加以下内容(如果已经有内容就添加新的环境变量):

[Service] Environment="OLLAMA_HOST=0.0.0.0" Environment="OLLAMA_ORIGINS=*" Environment="OLLAMA_KEEP_ALIVE=-1"

然后:

# 重新加载并重启 sudo systemctl daemon-reload sudo systemctl restart ollama

方法2:设置模型特定的保持时间

# 在拉取或运行模型时指定保持时间 ollama pull --keep-alive -1 qwen3:14b # 或者 ollama run --keep-alive 24h qwen3:14b

方法3:使用 API 设置模型常驻

# 通过 API 加载模型并设置保持时间 curl -X POST http://localhost:11434/api/generate \ -H "Content-Type: application/json" \ -d '{ "model": "qwen3:14b", "prompt": "Hello", "stream": false, "keep_alive": -1 }'

参数说明:

  1. OLLAMA_KEEP_ALIVE=-1: 永久保持模型在内存中

  2. OLLAMA_KEEP_ALIVE="24h": 保持24小时

  3. OLLAMA_KEEP_ALIVE="30m": 保持30分钟

3. 设置模型预加载

可以通过以下方法实现在Ollama服务启动时自动预加载模型。

方法一:创建启动后脚本

3.1 创建预加载脚本

sudo nano /etc/systemd/system/ollama-preload.sh

3.2 添加以下内容

#!/bin/bash # 等待ollama服务完全启动 sleep 5 # 预加载qwen3:14b模型 curl -X POST http://localhost:11434/api/generate \ -H "Content-Type: application/json" \ -d '{ "model": "qwen3:14b", "prompt": "ping", "stream": false, "options": { "num_predict": 1 } }' > /dev/null 2>&1 # 预加载quentinz/bge-large-zh-v1.5:latest模型 curl -X POST http://localhost:11434/api/generate \ -H "Content-Type: application/json" \ -d '{ "model": "quentinz/bge-large-zh-v1.5:latest", "prompt": "ping", "stream": false, "options": { "num_predict": 1 } }' > /dev/null 2>&1 echo "Models preloaded at $(date)" >> /var/log/ollama-preload.log

3.3赋予执行权限

sudo chmod +x /etc/systemd/system/ollama-preload.sh

3.4 修改systemd服务文件

sudo nano /etc/systemd/system/ollama.service

[Service]部分添加:

ExecStartPost=/etc/systemd/system/ollama-preload.sh

方法二:创建专门的systemd服务

3.1 创建独立的服务文件

sudo nano /etc/systemd/system/ollama-preload.service
[Unit] Description=Preload Ollama Models After=ollama.service Requires=ollama.service [Service] Type=oneshot User=ollama Group=ollama ExecStart=/usr/local/bin/ollama run qwen3:14b "ping" ExecStart=/usr/local/bin/ollama run quentinz/bge-large-zh-v1.5:latest "ping" RemainAfterExit=yes Environment="PATH=/usr/local/bin:/usr/bin:/bin" [Install] WantedBy=multi-user.target

3.2 启用这个服务:

sudo systemctl daemon-reload sudo systemctl enable ollama-preload.service

方法三:修改现有服务

直接修改ollama.service,在ExecStart后添加预加载命令:

[Service] ExecStart=/usr/local/bin/ollama serve ExecStartPost=/bin/bash -c 'sleep 10 && /usr/local/bin/ollama run qwen3:14b "ping" > /dev/null 2>&1 &' ExecStartPost=/bin/bash -c 'sleep 15 && /usr/local/bin/ollama run quentinz/bge-large-zh-v1.5:latest "ping" > /dev/null 2>&1 &'

无论选择哪种方法,最后都需要:

1. 重新加载systemd配置

sudo systemctl daemon-reload

2. 重启ollama服务

sudo systemctl restart ollama

3. 检查日志

sudo journalctl -u ollama -f


http://www.jsqmd.com/news/234282/

相关文章:

  • AI分类模型选择困难?5个预训练模型开箱即用对比
  • 深度估计模型选型指南:为什么选择MiDaS小型版本
  • MiDaS模型创新:实时深度估计系统搭建
  • 如何用Qwen2.5-7B实现工具调用?vLLM+Docker快速上手指南
  • AI万能分类器绘画实战:10分钟生成分类报告,1块钱体验
  • AI深度感知MiDaS:热力图生成技术详解
  • 如何高效实现中文NER?试试AI智能实体侦测服务镜像
  • AI智能实体侦测服务详解|人名地名机构名一键高亮
  • 零代码玩AI分类:云端镜像傻瓜操作,3步出结果
  • 【高项十大知识域-重点笔记】
  • MiDaS模型对比:小型版与大型版的性能差异测评
  • 深度学习分类器部署陷阱:云端方案避坑大全
  • ResNet18持续集成实践:云端环境实现自动化测试
  • MiDaS模型实战案例:宠物照片深度估计
  • 解释一下Re-Reading
  • 中文命名实体识别新体验|基于AI智能实体侦测服务快速实现文本高亮
  • Vite+React项目,仅允许通过localhost访问,不允许通过IP地址访问的解决方案
  • Qwen3-VL-WEBUI核心优势解析|附Dify平台集成视觉智能案例
  • 适合小白的低代码爬虫工具,适合采集复杂网页数据
  • MiDaS实战:室内场景深度估计应用案例与参数调优
  • Spring AI怎么实现结构化输出?
  • AI分类模型懒人方案:预装环境,3步出结果
  • AI分类竞赛夺冠方案复现:云端GPU3小时跑通
  • 支持高亮显示的中文NER服务|AI智能实体侦测镜像详解
  • AI分类模型解释性工具:云端GPU可视化决策过程,通过合规审核
  • 在Linux系统中,如何设置文件的权限和拥有者?
  • AI分类器选型困惑?5款热门模型云端实测报告
  • 分类模型A/B测试神器:云端GPU双实例并行,效果对比一目了然
  • MiDaS性能评测:不同硬件平台上的表现对比
  • 人名地名机构名自动标注|试试这款Cyberpunk风NER工具