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

Debian12.8如何部署Ragflow

环境:

ragflow v17.2

debian12.8

问题描述:

Debian12.8如何部署Ragflow

在这里插入图片描述

在这里插入图片描述

解决方案:

1.创建ragflow目录

root@VM-16-4-debian:/home/www# mkdir ragflow
root@VM-16-4-debian:/home/www# ls
ragflow
root@VM-16-4-debian:/home/www# cd ragflow/
root@VM-16-4-debian:/home/www/ragflow# 

2.查看python版本

root@VM-16-4-debian:/home/www/ragflow# python3 --version
Python 3.10.13

3.创建虚拟环境(我服务器多人使用需要这样,如果你一个人用这步不需要再建,后面会建)

ensurepip 来启用 venv:python3.10 -m ensurepip --upgrade
python3.10 -m pip install --upgrade pip

3.1创建一个新的虚拟环境:

python3 -m venv ragflow_env

3.2激活虚拟环境:

source ragflow_env/bin/activate

4.以源代码启动服务的方式部署

python -m pip install pipx

4.1安装 uv。如已经安装,可跳过本步骤:

pipx install uv
export UV_INDEX=https://mirrors.aliyun.com/pypi/simple

在这里插入图片描述

5.下载源代码并安装 Python 依赖:

git clone https://github.com/infiniflow/ragflow.gitcd ragflow/uv sync --python 3.10 --all-extras # install RAGFlow dependent python modules

在这里插入图片描述

如果出现 uv: command not found解决办法

(ragflow_env) root@VM-16-4-debian:/home/www/ragflow/ragflow# uv --version
-bash: uv: command not found
(ragflow_env) root@VM-16-4-debian:/home/www/ragflow/ragflow# pipx list
venvs are in /root/.local/share/pipx/venvs
apps are exposed on your $PATH at /root/.local/bin
manual pages are exposed at /root/.local/share/manpackage uv 0.6.16, installed using Python 3.11.2- uv- uvx

永久添加 /root/.local/bin 到 PATH
编辑 .bashrc 文件:nano ~/.bashrc
在文件末尾添加以下行:export PATH=$PATH:/root/.local/bin
保存并退出编辑器(在 nano 中按 Ctrl + X,然后按 Y 确认保存)。使更改生效:source ~/.bashrc
验证 uv 是否可用:uv --version

在这里插入图片描述

pyicu安装不上,icu60版本低问题

手动安装 icu-config(如果必须使用)# 下载 ICU 72.1 源码
wget https://github.com/unicode-org/icu/releases/download/release-72-1/icu4c-72_1-src.tgz
tar xzf icu4c-72_1-src.tgz
cd icu/source# 编译并安装(仅生成 icu-config)
./configure --prefix=/usr
make -j$(nproc)
make install
apt-get install -y python3-dev pkg-config libicu-devpyicupip install pyicu==2.15 --no-binary pyicu \--global-option="build_ext" \--global-option="-I$(/usr/bin/icu-config --incfile | xargs dirname)" \--global-option="-L$(/usr/bin/icu-config --libdir)"

再次执行:uv sync --python 3.10 --all-extras
在这里插入图片描述

6.通过 Docker Compose 启动依赖的服务(MinIO, Elasticsearch, Redis, and MySQL):

docker compose -f docker/docker-compose-base.yml up -d

在这里插入图片描述

[+] Running 0/1⠹ Container ragflow-redis  Starting                                                                                                                                                    0.2s 
Error response from daemon: failed to set up container networking: driver failed programming external connectivity on endpoint ragflow-redis (ff2e35d3f58391a1a1fcc955add9c244799888aa83d71f4e54b02ddb1331b7ce): failed to bind host port for 0.0.0.0:6379:172.19.0.3:6308/tcp: address already in use

我服务器上有个redis了,这里我需要改它端口,避免冲突
在这里插入图片描述

也有个mysql了,这里我需要改它端口,避免冲突
在这里插入图片描述

6.1更新 .env 文件

确保 ${REDIS_PORT} 的值与配置一致(例如改为未占用的端口)在这里插入图片描述

(ragflow_env) root@VM-16-4-debian:/home/www/ragflow/ragflow# docker stop ragflow-redis
ragflow-redis
(ragflow_env) root@VM-16-4-debian:/home/www/ragflow/ragflow# docker rm  ragflow-redis
ragflow-redis
(ragflow_env) root@VM-16-4-debian:/home/www/ragflow/ragflow# docker compose -f docker/docker-compose-base.yml up -d --force-recreate redis

7.在 /etc/hosts 中添加以下代码,目的是将 conf/service_conf.yaml 文件中的所有 host 地址都解析为 127.0.0.1:

127.0.0.1       es01 infinity mysql minio redis

在这里插入图片描述

如果无法访问 HuggingFace,可以把环境变量 HF_ENDPOINT 设成相应的镜像站点:

export HF_ENDPOINT=https://hf-mirror.com

启动后端服务:

source .venv/bin/activate
export PYTHONPATH=$(pwd)
docker/launch_backend_service.sh
``File "/home/www/ragflow/ragflow/.venv/lib/python3.10/site-packages/cv2/__init__.py", line 153, in bootstrapnative_module = importlib.import_module("cv2")# 安装 OpenGL 和图形驱动依赖sudo apt update
sudo apt install -y libgl1-mesa-glx libglib2.0-0
# 清理旧进程(如果有)
pkill -f "ragflow_server.py"
pkill -f "task_executor.py"# 重新启动服务
bash docker/launch_backend_service.sh

更新redis连接的端口
在这里插入图片描述更新配置文件redis端口/home/www/ragflow/ragflow/conf
在这里插入图片描述

8.下载/nltk_data

手动下载并解压数据

wget https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/tokenizers/punkt.zip
unzip punkt.zip -d /home/www/ragflow/nltk_data/

设置环境变量

echo "export NLTK_DATA=/home/www/ragflow/ragflow/nltk_data" >> ~/.bashrc
source ~/.bashrc

我在报错libodbc.so.2

sudo apt update
sudo apt install -y unixodbc-bin  # 包含 odbcinst 工具
sudo apt install -y odbcinst1debian2  # Debian 专用包

清理并重启服务

终止旧进程

pkill -f "ragflow_server.py"
pkill -f "task_executor.py"

重新启动

docker/launch_backend_service.sh

在这里插入图片描述

9.防火墙开头9222端口
在这里插入图片描述
公网访问web,注册账号即可
在这里插入图片描述

10.安装 Node.js 和 npm

使用官方源安装

curl -fsSL https://deb.nodesource.com/setup_lts.x | bash -
apt-get install -y nodejs

验证安装

node -v && npm -v

安装前端依赖:

cd web
npm install

在这里插入图片描述

11.启动前端服务:

npm run dev

12.开发完成后停止 RAGFlow 服务 停止 RAGFlow 前端和后端服务:

pkill -f "ragflow_server.py|task_executor.py"
http://www.xdnf.cn/news/2254.html

相关文章:

  • 计算机网络 | 应用层(4)--DNS:因特网的目录服务
  • Tauri快速入门1 - 搭设开发环境
  • HTML与安全性:XSS、防御与最佳实践
  • Linux系统编程之内存映射
  • 深入浅出理解并应用自然语言处理(NLP)中的 Transformer 模型
  • 【Pandas】pandas DataFrame rdiv
  • 第6讲:科学配色基础——认识颜色空间(RGB、HSV、HCL)
  • AI图像编辑器 Luminar Neo 便携版 Win1.24.0.14794
  • Tableau 基础表制作
  • Java在云计算、大数据、云原生下的应用和优势 - 面试实战
  • 使用 OpenCV 进行视觉图片调整的几种常见方法
  • 碰一碰发视频源码搭建全解析,支持OEM
  • Ubuntu下安装vsode+qt搭建开发框架(二)
  • STM32 开发 - stm32f10x.h 头文件(内存映射、寄存器结构体与宏、寄存器位定义、实现点灯案例)
  • i18n-ai-translate开源程序,可以使用DeepSeek等模型将您的 i18nJSON翻译成任何语言
  • stm32之EXIT外部中断详解
  • (done) 吴恩达版提示词工程 5. 推理 (情绪分类,控制输出格式,输出 JSON,集成多个任务,文本主题推断和索引,主题内容提醒)
  • 基于Spring AI Alibaba + Spring Boot + Ollama搭建本地AI对话机器人API
  • JAVA服务内存缓慢上涨,年轻代GC正常但Full GC频繁,如何定位?
  • IntelliJ IDEA修改实体类成员变量的名称(引入了该实体类的全部文件也会自动更新变量的名称)
  • 精益数据分析(25/126):关键指标驱动业务发展
  • GPT系列模型-20250426
  • Spring Boot 3.4 实战指南:从性能优化到云原生增强
  • 嵌入式C设计模式---策略模式
  • 跨境支付接口RT从300ms突增至2000ms,但CPU/Memory无异常,如何排查?
  • 测试模板x
  • 浏览器界面无显示,提示“代理服务器可能有问题”,这是怎么回事呢?
  • 在 Vue 3 setup() 函数中使用 TypeScript 处理 null 和 undefined 的最佳实践
  • Redis的两种持久化方式:RDB和AOF
  • WPF核心技术解析与使用示例