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.mzph.cn/news/1149276.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

深度估计模型选型指南:为什么选择MiDaS小型版本

深度估计模型选型指南:为什么选择MiDaS小型版本 在计算机视觉领域,单目深度估计(Monocular Depth Estimation)正成为3D感知、AR/VR、机器人导航和图像理解等应用的核心技术。与依赖双目摄像头或激光雷达的传统方法不同&#xff0…

MiDaS模型创新:实时深度估计系统搭建

MiDaS模型创新:实时深度估计系统搭建 1. 引言:AI 单目深度估计的现实意义 在计算机视觉领域,从单张2D图像中恢复3D空间结构一直是极具挑战性的任务。传统方法依赖双目立体匹配或多视角几何约束,但这些方案对硬件要求高、部署复杂…

如何用Qwen2.5-7B实现工具调用?vLLM+Docker快速上手指南

如何用Qwen2.5-7B实现工具调用?vLLMDocker快速上手指南 1. 引言:为什么需要大模型工具调用? 随着大语言模型(LLM)在自然语言理解与生成能力上的持续突破,其在对话系统、内容创作、代码生成等场景中展现出…

AI分类模型选择困难?5个预训练模型开箱即用对比

AI分类模型选择困难?5个预训练模型开箱即用对比 引言 作为创业公司的CTO,你是否也遇到过这样的困境:产品需要接入AI分类能力,但面对琳琅满目的预训练模型,不知道该如何选择?每个模型都部署测试一遍不仅耗…

AI万能分类器绘画实战:10分钟生成分类报告,1块钱体验

AI万能分类器绘画实战:10分钟生成分类报告,1块钱体验 1. 为什么设计师需要AI分类器? 作为一名设计师,你是否经常遇到这样的困扰:电脑里存了几万张素材图片,想找一张特定风格的参考图却要翻遍整个文件夹&a…

AI深度感知MiDaS:热力图生成技术详解

AI深度感知MiDaS:热力图生成技术详解 1. 引言:从2D图像到3D空间理解的跨越 1.1 单目深度估计的技术背景 在计算机视觉领域,如何让机器“看懂”三维世界一直是核心挑战之一。传统方法依赖双目立体视觉或多传感器融合(如LiDAR&am…

如何高效实现中文NER?试试AI智能实体侦测服务镜像

如何高效实现中文NER?试试AI智能实体侦测服务镜像 在自然语言处理(NLP)领域,命名实体识别(Named Entity Recognition, NER)是信息抽取的核心任务之一。它旨在从非结构化文本中自动识别出具有特定意义的实体…

AI智能实体侦测服务详解|人名地名机构名一键高亮

AI智能实体侦测服务详解|人名地名机构名一键高亮 1. 项目背景与核心价值 在当今信息爆炸的时代,非结构化文本数据呈指数级增长。新闻报道、社交媒体内容、企业文档等海量文本中蕴含着大量关键信息,但人工提取效率低下且容易遗漏。如何从这些…

零代码玩AI分类:云端镜像傻瓜操作,3步出结果

零代码玩AI分类:云端镜像傻瓜操作,3步出结果 引言:AI分类就像自动分拣机 想象你刚收到一卡车混杂的商品:衣服、零食、电子产品堆在一起。人工分类需要3小时,而AI分类器就像智能分拣机,3分钟就能完成。更棒…

【高项十大知识域-重点笔记】

文章目录一、采购管理:采购的一般步骤:规划采购管理,数据分析技术包括:规划采购管理,供方选择分析的方法包括:采购管理计划可包括以下内容:工作说明书(SOW)的内容包括:工作大纲(TOR)…

MiDaS模型对比:小型版与大型版的性能差异测评

MiDaS模型对比:小型版与大型版的性能差异测评 1. 引言:AI 单目深度估计的现实意义 1.1 技术背景与行业痛点 在计算机视觉领域,从单张2D图像中恢复3D空间结构一直是极具挑战性的任务。传统方法依赖多视角几何或激光雷达等硬件设备&#xff…

深度学习分类器部署陷阱:云端方案避坑大全

深度学习分类器部署陷阱:云端方案避坑大全 引言 当你费尽心思在本地训练好一个深度学习分类器,准备迁移到云端生产环境时,是否遇到过这些糟心事:明明本地跑得好好的模型,一到服务器就报CUDA版本不兼容?或…

ResNet18持续集成实践:云端环境实现自动化测试

ResNet18持续集成实践:云端环境实现自动化测试 引言 在AI模型开发过程中,团队协作和持续集成(CI/CD)已经成为提升效率的关键。特别是对于像ResNet18这样的经典图像分类模型,频繁的代码提交和模型更新需要一套可靠的自…

MiDaS模型实战案例:宠物照片深度估计

MiDaS模型实战案例:宠物照片深度估计 1. 引言:AI 单目深度估计的现实价值 在计算机视觉领域,从单张2D图像中恢复3D空间结构一直是极具挑战性的任务。传统方法依赖多视角几何或激光雷达等硬件设备,成本高且部署复杂。近年来&…

解释一下Re-Reading

Re-Reading(重读),是一种通过让大语言模型重新阅读问题来提高其推理能力的技术。 有文献研究证明: 对于复杂的问题,重复阅读和审视问题有助于模型更好地理解题意和约束,从而能够生成更准确、更深入的回答。…

Vite+React项目,仅允许通过localhost访问,不允许通过IP地址访问的解决方案

修改说明问题原因: Vite默认只监听 localhost (127.0.0.1),只接受来自本机的连接。解决方案: 设置 host: 0.0.0.0 让Vite监听所有网络接口,这样就可以通过局域网IP地址访问。使用方法重启开发服务器: 保存配置后,重启你的 npm run dev 或 yar…

中文命名实体识别新体验|基于AI智能实体侦测服务快速实现文本高亮

中文命名实体识别新体验|基于AI智能实体侦测服务快速实现文本高亮 在自然语言处理(NLP)的实际应用中,命名实体识别(Named Entity Recognition, NER) 是信息抽取的核心任务之一。它能够从非结构化文本中自动…

适合小白的低代码爬虫工具,适合采集复杂网页数据

就我个人经验来看,数据爬虫是很费时间的技术,特别对于中小公司和个人,我曾经想研究下某音用户短视频的评论情感倾向,需要大概100万条级以上的数据,光是写代码有上千行,虽然是公开数据,但会面临各…

MiDaS实战:室内场景深度估计应用案例与参数调优

MiDaS实战:室内场景深度估计应用案例与参数调优 1. 引言:AI 单目深度估计的现实意义 在计算机视觉领域,从单张2D图像中恢复3D空间结构一直是极具挑战性的任务。传统方法依赖多视角几何或激光雷达等硬件设备,成本高且部署复杂。近…

AI分类模型懒人方案:预装环境,3步出结果

AI分类模型懒人方案:预装环境,3步出结果 引言:为什么你需要这个懒人方案? 作为一名时间紧迫的研究生,你可能经常遇到这样的困境:导师突然要求测试某个分类算法,或者论文需要补充对比实验数据&…