CentOS 7中安装Dify

Dify 是一个开源的 LLM 应用开发平台。其直观的界面结合了 AI 工作流、RAG 管道、Agent、模型管理、可观测性功能等,让您可以快速从原型到生产。尤其是我们本地部署DeepSeek等大模型时,会需要用到Dify来帮我们快捷的开发和应用。

大家可以参考学习它的中文文档https://github.com/langgenius/dify/blob/main/README_CN.md

一、系统要求

在安装 Dify 之前,请确保您的机器满足以下最低系统要求:

  • CPU >= 2 Core
  • RAM >= 4 GiB

二、安装 Dify

1.安装Docker 和 Docker Compose

安装开始之前,建议大家有且只考虑Docker环境来启动Dify,因为逐个安装环境的工作量非常大。安装方法可以参照我上一篇文章:CentOS 7 中安装 Docker和Docker Compose-CSDN博客

2. 克隆 Dify 仓库

从 Dify 的 GitHub 仓库克隆项目代码到本地:

复制代码
git clone https://github.com/langgenius/dify.git
cd dify

这一步可能会失败,原因是访问github的网络不稳定导致的,多试几次吧。

3.快速启动

启动 Dify 服务器的最简单方法是运行我们的 docker-compose.yml 文件。

复制代码
cd docker
cp .env.example .env
docker compose up -d

docker compose up -d会根据docker-compose.yml 文件中的配置,下载所需的 Docker 镜像并启动相关容器。

4.修改源(最关键的一步)

在安装过程中,部分同学可能会在执行docker compose up -d时遇到问题:

复制代码
[root@localhost docker]# docker compose up -d
[+] Running 10/10
 ✘ worker Error        context canceled                                                       15.0s
 ✘ redis Error         context canceled                                                       15.0s
 ✘ web Error           Get "https://registry-1.docker.io/v2/": context deadline ...           15.0s
 ✘ nginx Error         Get "https://registry-1.docker.io/v2/": context deadlin...             15.0s
 ✘ plugin_daemon Error context canceled                                                       15.0s
 ✘ db Error            Get "https://registry-1.docker.io/v2/": net/http: request ...          15.0s
 ✘ ssrf_proxy Error    context canceled                                                       15.0s
 ✘ api Error           Get "https://registry-1.docker.io/v2/": dial tcp 199.59.1...           15.0s
 ✘ weaviate Error      Get "https://registry-1.docker.io/v2/": dial tcp 199...                15.0s
 ✘ sandbox Error       Get "https://registry-1.docker.io/v2/": net/http: req...               15.0s
Error response from daemon: Get "https://registry-1.docker.io/v2/": net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)

这是在尝试从 Docker 官方镜像源下载软件包时,网络超时。国内访问 Docker Hub 有时会出现网络不稳定的状况,你可以

4.1.配置国内的 Docker 镜像源

复制代码
sudo vi /etc/docker/daemon.json

4.2.添加如下内容

java 复制代码
{
"registry-mirrors":
 [
    "https://docker.1panel.live",
    "https://docker.nju.edu.cn",
    "https://registry.cn-hangzhou.aliyuncs.com",
    "https://mirror.ccs.tencentyun.com",
    "https://05f073ad3c0010ea0f4bc00b7105ec20.mirror.swr.myhuaweicloud.com",
    "https://docker.mirrors.ustc.edu.cn",
    "https://dockerproxy.com",
    "https://hub-mirror.c.163.com",
    "https://mirror.baidubce.com"
]
}

补充下,以上镜像源有些可能只会对一部分软件包有用,对另外一些软件包无效。所以呢,我们就数量凑质量,多凑一些镜像源 。最终凑齐所有需要的软件包。至于镜像源的地址网上有很多,搜来能用就行。截止到本稿日,以上镜像源是可以下载所有需要的软件包了。

4.3.重启Docker后生效

java 复制代码
sudo systemctl restart docker

4.4.确认 Docker 镜像源配置生效

java 复制代码
docker info | grep "Registry Mirrors"

如果输出显示了你配置的镜像源,说明配置已生效;若没有显示,需要再次检查 /etc/docker/daemon.json 文件的配置以及是否正确重启了 Docker 服务。

4.5.再来一次

java 复制代码
[root@localhost docker]# docker compose up -d
[+] Running 80/32
 ✔ redis Pulled                                                                              165.1s
 ✔ db Pulled                                                                                 179.9s
 ✔ ssrf_proxy Pulled                                                                          97.0s
 ✔ sandbox Pulled                                                                             98.9s
 ✔ weaviate Pulled                                                                            54.4s
 ✔ nginx Pulled                                                                              158.9s
 ✔ api Pulled                                                                                182.6s
 ✔ web Pulled                                                                                164.5s
 ✔ worker Pulled                                                                             182.6s
 ✔ plugin_daemon Pulled                                                                      112.0s



[+] Running 12/12
 ✔ Network docker_default             Created                                                  0.5s
 ✔ Network docker_ssrf_proxy_network  Created                                                  0.1s
 ✔ Container docker-redis-1           Started                                                  7.2s
 ✔ Container docker-sandbox-1         Started                                                  7.2s
 ✔ Container docker-weaviate-1        Started                                                  7.2s
 ✔ Container docker-ssrf_proxy-1      Started                                                  7.5s
 ✔ Container docker-plugin_daemon-1   Started                                                  7.2s
 ✔ Container docker-db-1              Started                                                  7.3s
 ✔ Container docker-web-1             Started                                                  7.3s
 ✔ Container docker-worker-1          Started                                                  6.8s
 ✔ Container docker-api-1             Started                                                  6.7s
 ✔ Container docker-nginx-1           Started                                                  7.7s

发现成功咯

三、自定义配置

如果您需要自定义配置,请参考 .env.example 文件中的注释,并更新 .env 文件中对应的值。此外,您可能需要根据您的具体部署环境和需求对 docker-compose.yaml 文件本身进行调整,例如更改镜像版本、端口映射或卷挂载。完成任何更改后,请重新运行 docker-compose up -d。您可以在此处找到可用环境变量的完整列表

四、验证安装

判断安装成功的直接标准,肯定是能访问Dify的控制台啦

直接浏览器输入Dify服务器的ip即可,默认端口80,比如http://localhost

首次登录需要设置管理员账号密码

恭喜你,出现这个界面,代表Dify我们安装成功啦

我们设置完管理员账号后,进入控制台看看,并试着添加一个空白应用

好啦,我们可以添加deepseek,gpt等大模型,并研发丰富多彩的AI智能体(Agent)吧

相关推荐
微露清风39 分钟前
系统性学习Linux-第二讲-基础开发工具
linux·运维·学习
阳光九叶草LXGZXJ1 小时前
达梦数据库-学习-48-DmDrs控制台命令(同步之Manager、CPT模块)
linux·运维·数据库·sql·学习
DisonTangor1 小时前
DeepSeek-OCR 2: 视觉因果流
人工智能·开源·aigc·ocr·deepseek
薛定谔的猫19822 小时前
二十一、基于 Hugging Face Transformers 实现中文情感分析情感分析
人工智能·自然语言处理·大模型 训练 调优
发哥来了2 小时前
《AI视频生成技术原理剖析及金管道·图生视频的应用实践》
人工智能
数智联AI团队2 小时前
AI搜索引领开源大模型新浪潮,技术创新重塑信息检索未来格局
人工智能·开源
不懒不懒2 小时前
【线性 VS 逻辑回归:一篇讲透两种核心回归模型】
人工智能·机器学习
冰西瓜6002 小时前
从项目入手机器学习——(四)特征工程(简单特征探索)
人工智能·机器学习
Ryan老房2 小时前
未来已来-AI标注工具的下一个10年
人工智能·yolo·目标检测·ai
小二李3 小时前
第11章 nestjs服务端开发:登录鉴权
运维·服务器