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

Ubuntu 系统部署 Ollama + DeepSeek + Docker + Ragflow


🌹作者主页:青花锁 🌹简介:Java领域优质创作者🏆、Java微服务架构公号作者😄

🌹简历模板、学习资料、面试题库、技术互助

🌹文末获取联系方式 📝

在这里插入图片描述


Mysql数据库规范

  • 一、Ollama 安装与端口配置
    • 1.1 一键安装
    • 1.2 修改默认端口(11434 → 50002)
    • 1.3 验证服务状态
    • 1.4 在ollama里安装deepSeek r1模型
      • 1.4.1、模型下载配置建议
      • 1.4.2、根据电脑配置,选择一个安装
  • 二、Docker 安装与优化
    • 2.1 安装前准备
    • 2.2 安装依赖项
    • 2.3 添加官方源并安装
    • 2.4 配置国内镜像加速
    • 2.5 验证安装
  • 三、Ragflow 部署指南
    • 3.1 下载代码
    • 3.2 修改配置
    • 3.3 启动服务
    • 3.4 查看日志与访问
  • 四、常见问题排查
  • 五、性能优化建议


一、Ollama 安装与端口配置

1.1 一键安装

curl -fsSL https://ollama.com/install.sh | sh

错误

curl: (56) OpenSSL SSL_read: error:0A000126:SSL routines::unexpected eof while reading, errno 0


gzip: stdin: unexpected end of file
tar: Child returned status 1
tar: Error is not recoverable: exiting now

解决方法
1、更新 Curl 和相关软件
首先,确保你的 curl 和其他相关软件(如 tar)是最新版本。可以通过以下命令更新:

 sudo apt update

2、检查 Curl 的 HTTP2 支持
确保你的 curl 支持 HTTP/2。可以通过以下命令查看:

curl --version

查看输出中是否包含 “HTTP2” 支持。如果没有,你可能需要重新安装支持 HTTP/2 的 curl 版本:

sudo apt install curl  # 通常会自动安装支持 HTTP/2 的版本

在这里插入图片描述
3、使用旧版本的 HTTP 协议
如果问题仍然存在,尝试使用 HTTP/1.1 而不是 HTTP/2。可以通过添加 --http1.1 参数到你的 curl 命令中:

curl --http1.1  -fsSL https://ollama.com/install.sh | sh

在这里插入图片描述
在这里插入图片描述

1.2 修改默认端口(11434 → 50002)

方法1:永久生效(推荐)

# 创建配置文件
mkdir -p ~/.ollama && echo '{"OLLAMA_HOST": "0.0.0.0:50002"}' > ~/.ollama/config.json# 重启服务
sudo systemctl restart ollama

方法2:临时生效

export OLLAMA_HOST="0.0.0.0:50002"  # 或使用 OLLAMA_PORT=50002
ollama serve

方法3:设置开机自启

sudo tee /etc/systemd/system/ollama.service <<EOF
[Service]
Environment="OLLAMA_HOST=0.0.0.0:50002"
EOFsudo systemctl daemon-reload && sudo systemctl restart ollama

1.3 验证服务状态

systemctl status ollama
curl http://localhost:50002/health  # 应返回 {"status": "healthy"}

1.4 在ollama里安装deepSeek r1模型

找到ollama里的模型下载地址:https://ollama.com/library/deepseek-r1
在这里插入图片描述

1.4.1、模型下载配置建议

询问文心一言,给出的指导建议
在这里插入图片描述

1.4.2、根据电脑配置,选择一个安装

例如:选中14b,复制命令:ollama run deepseek-r1:14b
在这里插入图片描述
安装过程, 等待进度100%
在这里插入图片描述
在这里插入图片描述


二、Docker 安装与优化

2.1 安装前准备

sudo apt update && sudo apt upgrade -y# 卸载旧版本(如有)
sudo apt remove docker docker-engine docker.io containerd runc -y

2.2 安装依赖项

sudo apt install apt-transport-https ca-certificates curl gnupg-agent software-properties-common -y

2.3 添加官方源并安装

# 添加 GPG 密钥
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -# 添加 APT 源
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"# 安装 Docker
sudo apt update && sudo apt install docker-ce docker-ce-cli containerd.io -y

2.4 配置国内镜像加速

sudo tee /etc/docker/daemon.json <<EOF
{"registry-mirrors": ["https://docker.mirrors.ustc.edu.cn","https://reg-mirror.qiniu.com"]
}
EOFsudo systemctl restart docker

2.5 验证安装

docker --version
docker info | grep -A4 "Registry Mirrors"  # 检查镜像加速是否生效

三、Ragflow 部署指南

3.1 下载代码

git clone https://github.com/infiniflow/ragflow.git
cd ragflow/docker

3.2 修改配置

# 修改 .env 文件
sed -i 's/infiniflow\/ragflow:v0.16.0-slim/#infiniflow\/ragflow:v0.16.0-slim/g' .env# 修改端口(示例改为50003)
sed -i 's/5000/50003/g' docker-compose.yml

3.3 启动服务

docker compose up -d

3.4 查看日志与访问

docker logs -f ragflow-server  # 实时查看日志
curl http://localhost:50003    # 或浏览器访问 http://服务器IP:50003

四、常见问题排查

  1. 端口冲突
    使用 netstat -tuln | grep <端口号> 检查端口占用,修改配置文件中的端口后重启服务。

  2. 防火墙阻止

    sudo ufw allow 50002/tcp  # Ollama
    sudo ufw allow 50003/tcp  # Ragflow
    
  3. Docker 镜像下载慢
    确保已配置国内镜像源,首次启动需耐心等待镜像下载完成。

  4. GPU 支持问题
    Ollama 需 PyTorch GPU 版本,安装前确认 CUDA 和 cuDNN 已正确安装。


五、性能优化建议

  1. Ollama 缓存路径
    ~/.ollama/config.json 中添加:

    "OLLAMA_CACHE_DIR": "/path/to/large/storage"
    
  2. Docker 资源限制
    docker-compose.yml 中限制内存和CPU:

    deploy:resources:limits:cpus: '2'memory: 8G
    
  3. 定期更新

    # Ollama
    sudo systemctl stop ollama && ollama update && sudo systemctl start ollama# Docker
    sudo apt update && sudo apt upgrade docker-ce -y
    

完成部署后,您可通过以下架构享受本地AI服务:
在浏览器打开:http://127.0.0.1:50003

相关文章:

Ubuntu 系统部署 Ollama + DeepSeek + Docker + Ragflow

&#x1f339;作者主页&#xff1a;青花锁 &#x1f339;简介&#xff1a;Java领域优质创作者&#x1f3c6;、Java微服务架构公号作者&#x1f604; &#x1f339;简历模板、学习资料、面试题库、技术互助 &#x1f339;文末获取联系方式 &#x1f4dd; Mysql数据库规范 一、Ol…...

深入探究 JVM 堆的垃圾回收机制(二)— 回收

GC Roots 枚举需要遍历整个应用程序的上下文&#xff0c;而在进行可达性分析或者垃圾回收时&#xff0c;如果我们还是进行全堆扫描及收集&#xff0c;那么会非常耗时。JVM 将堆分为新生代及老生代&#xff0c;它们的回收频率及算法不一样。 1 回收算法 在进行可达性分析时&am…...

第三讲 | C/C++内存管理完全手册

C/C内存管理 一、 C/C内存分布二、 C语言中动态内存管理方式&#xff1a;malloc/calloc/realloc/free三、 C内存管理方式1. new/delete操作内置类型2. new和delete操作自定义类型 四、operator new和operator delete函数&#xff08;重点&#xff09;五、new和delete的实现原理…...

2021年蓝桥杯第十二届CC++大学B组真题及代码

目录 1A&#xff1a;空间&#xff08;填空5分_单位转换&#xff09; 2B&#xff1a;卡片&#xff08;填空5分_模拟&#xff09; 3C&#xff1a;直线&#xff08;填空10分_数学排序&#xff09; 4D&#xff1a;货物摆放&#xff08;填空10分_质因数&#xff09; 5E&#xf…...

秒杀业务优化之从分布式锁到基于消息队列的异步秒杀

一、业务场景介绍 优惠券、门票等限时抢购常常出现在各类应用中&#xff0c;这样的业务一般为了引流宣传而降低利润&#xff0c;所以一旦出现问题将造成较大损失&#xff0c;那么在业务中就要求我们对这类型商品严格限时、限量、每位用户限一次、准确无误的创建订单&#xff0c…...

IntelliJ IDEA 将 Spring Boot 项目远程部署到服务器

使用 IntelliJ IDEA 将 Spring Boot 项目远程部署到服务器的详细步骤&#xff0c;涵盖多种常见方法&#xff1a; 方法一&#xff1a;通过 SSH Maven 插件直接部署 1. 服务器环境准备 确保服务器已安装&#xff1a; Java 运行环境&#xff08;与项目 JDK 版本一致&#xff0…...

Qt 重入和线程安全

重入和线程安全 在整个文档中&#xff0c;"重入"和 "线程安全 "这两个术语被用来标记类和函数&#xff0c;以表明它们在多线程应用程序中的使用方式&#xff1a; 线程安全函数可以同时被多个线程调用&#xff0c;即使调用使用的是共享数据&#xff0c;因…...

23种设计模式中的策略模式

在策略模式定义了一系列算法或策略&#xff0c;并将每个算法封装在独立的类中&#xff0c;使得它们可以互相替换。通过使用策略模式&#xff0c;可以在运行时根据需要选择不同的算法&#xff0c;而不需要修改客户端代码。 策略模式&#xff1a;Strategy。指的是&#xff0c;定义…...

纯vue手写流程组件

前言 网上有很多的vue的流程组件&#xff0c;但是本人不喜欢很多冗余的代码&#xff0c;喜欢动手敲代码&#xff1b;刚开始写的时候&#xff0c;确实没法下笔&#xff0c;最后一层一层剥离&#xff0c;总算实现了&#xff1b;大家可以参考我写的代码&#xff0c;可以拿过去定制…...

WPS宏开发手册——使用、工程、模块介绍

目录 系列文章前言1、开始1.1、宏编辑器使用步骤1.2、工程1.3、工程 系列文章 使用、工程、模块介绍 JSA语法 第三篇练习练习题&#xff0c;持续更新中… 前言 如果你是开发人员&#xff0c;那么wps宏开发对你来说手拿把切。反之还挺吃力&#xff0c;需要嘻嘻&#xf…...

面试中如何回答性能优化的问题

性能问题和Bug不同,后者的分析和解决思路更清晰,很多时候从应用日志(文中的应用指分布式服务下的单个节点)即可直接找到问题根源,而性能问题,其排查思路更为复杂一些。 对应用进行性能优化,是一个系统性的工程,对工程师的技术广度和技术深度都有所要求。一个简单的应用…...

django入门教程之request和reponse【二】

接上节&#xff1a;入门【一】 再创建一个orders子应用&#xff0c;python manager.py startapp orders&#xff0c;orders目录中新建一个urls.py文件。结构如图&#xff1a; 通过上节课&#xff0c;我们知道在views.py文件中编写函数时&#xff0c;有一个默认入参request&…...

解决 IntelliJ IDEA 方法断点导致程序无法运行的问题

前言 在日常开发中&#xff0c;调试是程序员不可或缺的工具之一。IntelliJ IDEA 作为一款功能强大的集成开发环境&#xff08;IDE&#xff09;&#xff0c;提供了丰富的调试功能&#xff0c;例如设置断点、单步执行、变量监视等。然而&#xff0c;有时候我们在调试过程中会遇到…...

RAG优化:python从零实现[吃一堑长一智]循环反馈Feedback

本文将介绍一种有反馈循环机制的RAG系统,让当AI学会"吃一堑长一智",给传统RAG装了个"后悔"系统,让AI能记住哪些回答被用户点赞/拍砖,从此告别金鱼记忆: 每次回答都像在玩roguelike:失败结局会强化下次冒险悄悄把优质问答变成新知识卡牌,实现"以…...

日常学习开发记录-select组件(2)

日常学习开发记录-select组件&#xff08;2&#xff09; 第二阶段&#xff1a;增强功能 给现有select组件新增功能 第二阶段&#xff1a;增强功能 键盘操作支持 支持键盘上下箭头选择选项支持回车键确认选择支持Esc键关闭下拉菜单 <template><div:class"[my-s…...

微服务 - 高级篇

微服务 - 高级篇 一、服务治理&#xff08;一&#xff09;服务注册与发现&#xff08;二&#xff09;负载均衡&#xff08;三&#xff09;服务熔断与降级 二、分布式事务&#xff08;一&#xff09;解决方案&#xff08;二&#xff09;最终一致性 三、性能优化&#xff08;一&a…...

服务器入门笔记

服务器 采用linux操作系统 SN号 服务器的唯一标识 1U的服务器的高度——4.445cm 服务器上UID灯用于定位服务器 服务器是计算机的一种。在网络中为其他客户机提供计算或者应用服务。 服务器用来响应终端的服务请求&#xff0c;并进行处理 服务器的分类—— 按物理形态&#…...

【Linux】VMware17 安装 Ubuntu24.04 虚拟机

目录 安装教程 一、下载 Ubuntu 桌面版iso映像 二、安装 VMware 三、安装 Ubuntu 桌面版 VMware 创建虚拟机 挂载 Ubuntu ISO 安装 Ubuntu 系统 安装教程 一、下载 Ubuntu 桌面版iso映像 链接来自 清华大学开源软件镜像站 ISO文件地址&#xff1a;ubuntu-24.04.2-des…...

WPS宏开发手册——JSA语法

目录 系列文章2、JSA语法2.1、打印输出2.2、注释2.3、变量2.4、数据类型2.5、函数2.6、运算符2.7、比较2.8、if else条件语句2.9、for循环2.10、Math对象&#xff08;数字常用方法&#xff09;2.11、字符串常用方法2.12、数组常用方法 系列文章 使用、工程、模块介绍 JSA语…...

word中指定页面开始添加页码

第一步&#xff1a; 插入页码 第二步&#xff1a; 把光标放到指定起始页码处 第三步&#xff1a; 取消链接到前一节 此时关掉页脚先添加分节符 添加完分节符后恢复点击 第四步&#xff1a; 设置页码格式&#xff0c;从1开始 第五步&#xff1a; 删掉不要的页码&#xff0c…...

详解“二分”系列算法

前言 1.学习建议 网上教二分系列算法的视频或者文章不在少数&#xff0c;每个人对于二分算法的理解都是不一样的&#xff0c;作者不建议小白刚学习二分系列算法就看很多不同的视频或者博客去学习&#xff0c;举个例子&#xff0c;有些教学提供的方法会把left赋值为-1&#xf…...

Python实现deepseek接口的调用

简介&#xff1a;DeepSeek 是一个强大的大语言模型&#xff0c;提供 API 接口供开发者调用。在 Python 中&#xff0c;可以使用 requests 或 httpx 库向 DeepSeek API 发送请求&#xff0c;实现文本生成、代码补全&#xff0c;知识问答等功能。本文将介绍如何在 Python 中调用 …...

文档处理控件Aspose.Words 教程:.NET版中增强的 AI 文档摘要功能

Aspose.Words是一个功能强大的 Word 文档处理库。它可以帮助开发人员自动编辑、转换和处理文档。 自 24.11 版以来&#xff0c;Aspose.Words for .NET 提供了 AI 驱动的文档摘要功能&#xff0c;使用户能够从冗长的文本中快速提取关键见解。在 25.2 版中&#xff0c;我们通过使…...

【Linux 维测专栏 5 -- linux pstore 使用介绍】

文章目录 Linux pstore 功能简介1. pstore 概述2. pstore 的核心功能3. pstore 的工作原理4. pstore 的使用示例5. pstore 的优势6. 典型应用场景配置示例1)DTS配置2)config配置运行测试及log问题小结Linux pstore 功能简介 1. pstore 概述 pstore(Persistent Storage)是…...

19,C++——11

目录 一、 C11简介 二、 新增的列表初始化 三、 新增的STL容器 四、 简化声明 1&#xff0c;auto 2&#xff0c;decltype 3&#xff0c;nullptr 五、右值引用 1&#xff0c;左值引用和右值引用 2&#xff0c;两种引用的比较 3&#xff0c;左值引用的使用场景 4&…...

风尚云网|前端|前后端分离架构深度剖析:技术革新还是过度设计?

前后端分离架构深度剖析&#xff1a;技术革新还是过度设计&#xff1f; 作者&#xff1a;风尚云网 在数字化转型浪潮中&#xff0c;前后端分离架构已成为现代Web开发的主流模式。但这项技术真的是银弹吗&#xff1f;本文将从工程实践角度&#xff0c;剖析其优势与潜在风险&am…...

ffmpeg介绍(一)——解封装

​ 解封装 常用函数 1. avformat_open_input() 作用 打开媒体文件或网络资源&#xff1a;解析文件路径或 URL&#xff0c;识别媒体格式&#xff08;如 MP4、AVI、RTSP 等&#xff09;。初始化 AVFormatContext&#xff1a;分配并初始化 AVFormatContext 结构体&#xff0c…...

版本控制GIT的使用

在 GitCode 上进行代码提交的步骤与在 GitHub 或其他 Git 托管平台上提交代码的步骤类似。以下是一个基本的流程&#xff1a; 1. 安装 Git 如果你还没有安装 Git&#xff0c;首先需要在你的计算机上安装 Git。你可以从 Git 官方网站 下载并安装适合你操作系统的版本。 2. 配…...

本周安全速报(2025.3.18~3.24)

合规速递 01 2025欧洲网络安全报告&#xff1a;DDoS攻击同比增长137%&#xff0c;企业应如何应对&#xff1f; 原文: https://hackread.com/european-cyber-report-2025-137-more-ddos-attacks/ 最新的Link11《欧洲网络安全报告》揭示了一个令人担忧的趋势&#xff1a;DDo…...

CMS网站模板设计与用户定制化实战评测

内容概要 在数字化转型背景下&#xff0c;CMS平台作为企业内容管理的核心载体&#xff0c;其模板架构的灵活性与用户定制能力直接影响运营效率。通过对WordPress、Baklib等主流系统的技术解构发现&#xff0c;模块化设计理念已成为行业基准——WordPress依托超过6万款主题库实…...