Ubuntu服务器RAGFlow的部署流程

相比较MaxKB而言,RAGFlow的部署过程可谓是复杂得多!如果你图简单地话,可以直接移步到《Ubuntu服务器MaxKB的部署流程》这篇文章!

升级和安装相关的依赖

操作系统更新

sudo apt update && sudo apt upgrade

安装git-all

sudo apt install git-all

安装curl

sudo apt install curl

验证是否安装成功

curl --version

下载和安装git-lfs

curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.deb.sh | sudo bash
sudo apt-get install git-lfs

确保 vm.max_map_count 不小于 262144

sysctl vm.max_map_count

如果显示的数字小于262144,则继续进行如下的操作

sudo sysctl -w vm.max_map_count=1048576

这里的数字只要大于262144即可,根据自己的需要去写!

为了服务器重启之后依然生效,我们需要编辑如下的文档

sudo vim /etc/sysctl.conf

然后将下面这句命令添加到文件的末尾

vm.max_map_count=1048576

保存文件,退出编辑!

克隆仓库

为了国内下载文件更加快速,我用了代理地址来取代github的官方地址

git clone https://github.1319lm.top/infiniflow/ragflow.git

下载完成之后可以进入到ragflow目录中

cd ragflow

切换库的版本

git checkout -f v0.16.0

编辑docker配置文件

由于国内用户pull相关docker中的镜像文件的时候经常掉链子,我们需要编辑docker的配置文件,增加国内的镜像源

sudo vim /etc/docker/daemon.json

文件的内容如下,之间复制进去

{
"registry-mirrors": [
"https://docker.registry.cyou",
"https://docker-cf.registry.cyou",
"https://dockercf.jsdelivr.fyi",
"https://docker.jsdelivr.fyi",
"https://dockertest.jsdelivr.fyi",
"https://mirror.aliyuncs.com",
"https://dockerproxy.com",
"https://mirror.baidubce.com",
"https://docker.m.daocloud.io",
"https://docker.nju.edu.cn",
"https://docker.mirrors.sjtug.sjtu.edu.cn",
"https://docker.mirrors.ustc.edu.cn",
"https://mirror.iscas.ac.cn",
"https://docker.rainbond.cc"
]
}

重新加载配置文件

sudo systemctl daemon-reload

重启docker服务

sudo systemctl restart docker

pull ragflow项目中相关的镜像

运行下面的docker命令

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

pull的时间由于我们前面已经更换成了国内的镜像源,所以时间会更快一点,大概十分钟的样子,不过pull结束后会抛出一个错误

Ubuntu服务器RAGFlow的部署流程

意思就是80端口被占用了,因为ragflow默认是在80端口运行的

运行下面的命令查看是什么程序占用了80端口

sudo lsof -i :80

Ubuntu服务器RAGFlow的部署流程

我的80端口是被nginx占用的,所以我需要kill掉所有的nginx服务

sudo service nginx stop

启动RAGFlow服务

重新运行下面的docker命令启动RAGFlow服务就不会报错了!

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

然后我们继续运行下面的命令,来查看ragflow服务日志

docker logs -f ragflow-server
  • 功能:实时查看名为 ragflow-server 的 Docker 容器的日志输出(类似 tail -f)。
  • 参数 -f:保持持续监听(--follow),日志会实时滚动显示。
  • 关键点:此命令仅用于查看日志,不会启动或管理容器本身的生命周期

Ubuntu服务器RAGFlow的部署流程

当我们看到有类似“http://127.0.0.1:9380”地址出现的时候,就意味着我们的ragflow服务已经在运行了!

此时我们可以直接打开服务器的局域网IP地址(不带端口号)就可以打开RAGFlow页面了!

首次登录,需要注册账号

Ubuntu服务器RAGFlow的部署流程

登录之后的界面非常干净,是我喜欢的样子!

Ubuntu服务器RAGFlow的部署流程

配置大模型

RAGFlow的大模型配置大体上和MaxKB差不多

我这里同样以vllm+oneapi来举例

Ubuntu服务器RAGFlow的部署流程

本地部署的oneapi,即使做了域名的解析,在基础Url中依然要填写IP地址;

Ubuntu服务器RAGFlow的部署流程

Ubuntu服务器RAGFlow的部署流程

模型名称一定要与oneapi中的模型名称保持一致!否则添加模型不会成功!

上传文件提示大小过大

我们在上传文件构建知识库的时候,可能会遇到下面的报错“上传的文件总大小过大”

Ubuntu服务器RAGFlow的部署流程

这种情况我们需要修改RAGFlow环境配置文件中的关于文件上传大小的参数

修改.env文件参数

首先cd到ragflow根目录

cd ragflow

然后输入下面的修改命令来编辑.env文件

vim docker/.env

Ubuntu服务器RAGFlow的部署流程

进入到.env文件,找到”MAX_CONTENT_LENGTH”这个参数,取消前面的注释,并将其值修改为734003200

MAX_CONTENT_LENGTH=734003200

修改好之后保存文件退出编辑

Ubuntu服务器RAGFlow的部署流程

修改nginx参数

我们还需要编辑nginx配置文件

sudo vim /etc/nginx/sites-available/default

将nginx中的文件大小的参数修改为700M

client_max_body_size 700M;

修改好之后要重启nginx服务

sudo systemctl reload nginx

Ubuntu服务器RAGFlow的部署流程

至此,上传文件就不会再提示文件过大的错误提示了!

原创文章,作者:朋远方,如若转载,请注明出处:https://caovan.com/ubuntufuwuqiragflowdebushuliucheng/.html

Like (0)
Donate 微信扫一扫 微信扫一扫
朋远方的头像朋远方
Previous 2025年3月1日 下午12:44
Next 2025年3月2日 上午12:31

相关推荐

发表回复

Please Login to Comment