Dify本地部署-以Kylin-Server-V10-SP1为例

发布时间:2026/11/5 9:51:52

Dify本地部署-以Kylin-Server-V10-SP1为例 适用系统Kylin Linux Advanced Server V10 (Tercel) / SP1硬件要求CPU ≥ 2核内存 ≥ 4GiB建议 ≥ 8GiB网络要求可访问华为云镜像代理内网/隔离环境见文末离线方案一、前置环境检查在终端执行以下命令确认系统环境echo 系统版本 cat/etc/os-releaseecho CPU 核心数 nprocecho 内存 free-hecho 磁盘空间 df-h/echo SELinux 状态 getenforceecho 防火墙状态 systemctl status firewalld --no-pagerecho Git 版本 git--versionecho 端口占用 ss-tlnp|grep-E:80|:443|:5001|:5003|:5432|:6379||echo✅ 目标端口暂无占用检查标准检查项通过标准未通过处理CPU 2 核升级硬件内存 4 GiB建议至少 8 GiB磁盘剩余 10G清理磁盘SELinuxPermissive 或 Disabled见下文防火墙运行中即可后续放行端口端口 80/443未被占用停用占用程序SELinux 处理如为 Enforcingsetenforce0sed-is/^SELINUXenforcing/SELINUXpermissive//etc/selinux/config二、防火墙端口放行Dify 默认使用以下端口需提前放行firewall-cmd--permanent--add-port80/tcp firewall-cmd--permanent--add-port443/tcp firewall-cmd--permanent--add-port5001/tcp firewall-cmd--permanent--add-port5003/tcp firewall-cmd--permanent--add-port5432/tcp firewall-cmd--permanent--add-port6379/tcp firewall-cmd--reloadfirewall-cmd --list-ports三、安装 Docker二进制方式⚠️为什么用二进制安装Kylin V10 SP1 的 glibc 版本为 2.28Docker 官方最新 RPM29.x要求 glibc 2.34直接安装会报依赖错误。经实测使用Docker 24.0.9 静态二进制包可完美兼容。3.1 清理旧版本如有systemctl stopdocker2/dev/nullrm-f/usr/bin/docker*rm-f/usr/bin/containerd*rm-f/usr/bin/ctrrm-f/usr/bin/runcrm-f/etc/yum.repos.d/docker-ce.reporm-f/etc/yum.repos.d/CentOS-Base.repo yum clean all3.2 下载并安装 Docker 24.0.9cd/tmpcurl-L-k-odocker-24.0.9.tgz https://mirrors.aliyun.com/docker-ce/linux/static/stable/x86_64/docker-24.0.9.tgztar-zxvfdocker-24.0.9.tgzcpdocker/* /usr/bin/3.3 创建 systemd 服务文件cat/usr/lib/systemd/system/docker.serviceEOF [Unit] DescriptionDocker Application Container Engine Documentationhttps://docs.docker.com Afternetwork-online.target firewalld.service Wantsnetwork-online.target [Service] Typenotify ExecStart/usr/bin/dockerd ExecReload/bin/kill -s HUP $MAINPID LimitNOFILEinfinity LimitNPROCinfinity TimeoutStartSec0 Delegateyes KillModeprocess Restarton-failure StartLimitBurst3 StartLimitInterval60s [Install] WantedBymulti-user.target EOF3.4 启动 Docker 并验证systemctl daemon-reload systemctl startdockersystemctlenabledockerecho Docker 版本 docker--versionecho Containerd 版本 containerd--version预期输出Docker version 24.0.9, build 2936816containerd github.com/containerd/containerd v1.7.13 ...四、安装 Docker Compose V2 插件Dify 要求 Docker Compose 2.24.0。mkdir-p/usr/libexec/docker/cli-pluginscurl-Lhttps://github.com/docker/compose/releases/download/v2.27.0/docker-compose-linux-x86_64-o/usr/libexec/docker/cli-plugins/docker-composechmodx /usr/libexec/docker/cli-plugins/docker-compose# 验证dockercompose version预期输出Docker Compose version v2.27.0五、配置 Docker 镜像加速华为云代理国内环境 Docker Hub 直接访问不稳定使用华为云镜像代理swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io可稳定拉取镜像。mkdir-p/etc/dockercat/etc/docker/daemon.jsonEOF { registry-mirrors: [ https://swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io ], log-driver: json-file, log-opts: { max-size: 10m, max-file: 3 } } EOFsystemctl daemon-reload systemctl restartdocker# 验证配置加载dockerinfo|grep-A5Registry Mirrors测试镜像拉取dockerpull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/library/hello-worlddockerrun--rmswr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/library/hello-world看到Hello from Docker!即表示 Docker 环境完全就绪。六、部署 Dify6.1 克隆源码cd~gitclone https://github.com/langgenius/dify.gitcddify/docker6.2 复制环境配置cp.env.example .env6.3 修改 docker-compose.yaml替换镜像前缀由于daemon.json的 mirror 重定向对部分镜像不生效需直接修改 compose 文件将所有 Docker Hub 镜像替换为华为云代理路径。sed-is|image: langgenius/|image: swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/langgenius/|gdocker-compose.yamlsed-is|image: postgres|image: swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/postgres|gdocker-compose.yamlsed-is|image: redis|image: swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/redis|gdocker-compose.yamlsed-is|image: nginx|image: swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/nginx|gdocker-compose.yamlsed-is|image: semitechnologies/|image: swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/semitechnologies/|gdocker-compose.yamlsed-is|image: ubuntu/|image: swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/ubuntu/|gdocker-compose.yamlsed-is|image: busybox|image: swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/library/busybox|gdocker-compose.yaml6.4 启动 Difydockercompose up-d预期输出[] Running 15/15 ✔ Network docker_ssrf_proxy_network Created ✔ Network docker_default Created ✔ Container docker-web-1 Started ✔ Container docker-sandbox-1 Started ✔ Container docker-db_postgres-1 Healthy ✔ Container docker-redis-1 Started ✔ Container docker-init_permissions-1 Exited ✔ Container docker-weaviate-1 Started ✔ Container docker-ssrf_proxy-1 Started ✔ Container docker-plugin_daemon-1 Started ✔ Container docker-api_websocket-1 Started ✔ Container docker-api-1 Started ✔ Container docker-worker_beat-1 Started ✔ Container docker-worker-1 Started ✔ Container docker-nginx-1 Started七、部署后验证# 查看容器状态所有应为 Up 或 healthydockercomposeps# 查看异常日志dockercompose logs--tail50|grep-ierror\|fatal# 测试本地访问curl-Ihttp://localhost/install八、访问与初始化部署成功后在浏览器访问http://服务器IP/install首次访问流程设置管理员账号邮箱 密码完成初始化后登录地址为http://服务器IP九、常见问题速查现象原因解决方案nothing provides libc.so.6(GLIBC_2.34)麒麟 glibc 2.28 不兼容 Docker 29.x改用二进制安装 Docker 24.0.9nothing provides container-selinux麒麟源缺少该包二进制安装绕过 RPM 依赖error adding content digest to leaseDocker 与 containerd 版本不匹配重装配套版本24.0.9 1.7.13镜像拉取超时Docker Hub 网络不通使用华为云代理路径直接替换镜像前缀init_permissions拉取失败busybox 镜像未替换补充 sed 替换规则容器反复重启内存不足或数据库未就绪检查docker compose logs十、附录离线部署方案完全无网络环境若服务器完全无外网需在有网络的机器上提前下载镜像# 在有外网的机器上执行dockerpull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/langgenius/dify-api:1.14.2dockerpull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/langgenius/dify-web:1.14.2dockerpull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/langgenius/dify-plugin-daemon:0.6.1-localdockerpull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/langgenius/dify-sandbox:0.2.15dockerpull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/postgres:15-alpinedockerpull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/redis:6-alpinedockerpull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/nginx:latestdockerpull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/semitechnologies/weaviate:1.27.0dockerpull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/ubuntu/squid:latestdockerpull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/library/busybox:latest# 导出为 tar 包dockersave-odify-images.tar swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/langgenius/dify-api:1.14.2 swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/langgenius/dify-web:1.14.2 swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/langgenius/dify-plugin-daemon:0.6.1-local swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/langgenius/dify-sandbox:0.2.15 swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/postgres:15-alpine swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/redis:6-alpine swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/nginx:latest swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/semitechnologies/weaviate:1.27.0 swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/ubuntu/squid:latest swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/library/busybox:latest# 传到麒麟服务器后导入dockerload-idify-images.tar参考文档Dify 官方文档
延伸阅读

更多相关文章

2026/10/26 23:09:57

I2C总线时钟配置原理与寄存器编程实践详解

1. I2C总线时钟配置的核心原理与寄存器设计I2C总线通信的稳定性,很大程度上取决于SCL时钟信号的精确性。这个时钟信号并非简单地由主控制器的主频分频而来,它需要满足I2C协议规范中关于高低电平最小保持时间的要求,同时还要适应不同从设备的速…

2026/11/3 4:48:12

pyFDA与Amaranth结合:FPGA滤波器设计与实现

pyFDA与Amaranth结合:FPGA滤波器设计与实现 【免费下载链接】pyfda Python Filter Design Analysis Tool 项目地址: https://gitcode.com/gh_mirrors/py/pyfda pyFDA(Python Filter Design Analysis Tool)是一款强大的滤波器设计与分析…

2026/11/5 9:48:36

【亲测免费】 CodiumAI PR-Agent:重塑代码审查的未来

CodiumAI PR-Agent:重塑代码审查的未来 【免费下载链接】pr-agent 🚀 PR Agent: The Original Open-Source PR Reviewer. This project is not the Qodo free tier. 项目地址: https://gitcode.com/GitHub_Trending/pr/pr-agent 随着软件开发日新…

2026/11/5 9:48:36

【亲测免费】 Distil-Whisper: distil-large-v2的安装与使用教程

Distil-Whisper: distil-large-v2的安装与使用教程 【免费下载链接】distil-large-v2 项目地址: https://ai.gitcode.com/hf_mirrors/distil-whisper/distil-large-v2 引言 随着语音识别技术在各个领域的广泛应用,高效、准确的语音识别模型成为了研究人员和…

2026/11/5 9:48:36

提升PR效率10倍:CodiumAI PR-Agent代码建议功能深度剖析

提升PR效率10倍:CodiumAI PR-Agent代码建议功能深度剖析 【免费下载链接】pr-agent 🚀 PR Agent: The Original Open-Source PR Reviewer. This project is not the Qodo free tier. 项目地址: https://gitcode.com/GitHub_Trending/pr/pr-agent …

2026/11/5 9:43:35

HVAC温度采集实战:ADS122U04+PIC18LF47K42完整方案

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/11/5 9:43:35

UART接口24位ADC在工业温度采集中的工程实践

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/11/4 12:38:23

面向复杂光照与角度的宠物面部识别鲁棒性增强策略

在智慧养宠时代,基于视觉的宠物身份识别技术正逐步从实验室走向家庭应用。然而,与配合度高的人类不同,宠物是典型的“非合作生物识别对象”——它们不会主动配合摄像头调整姿态,更无法控制光照环境。实际应用中,我们常…

2026/11/4 21:04:25

SSM电子书店源码全解析:结构、原理、部署与排错实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/11/5 0:02:07

多智能体协作系统架构设计与实践优化

1. 多智能体协作系统的时代背景2017年Transformer架构的诞生彻底改变了人工智能的发展轨迹。当行业还沉浸在单一大模型带来的性能突破时,Anthropic的研究团队已经将目光投向了更前沿的领域——如何让多个智能体通过协作产生超越单体能力的系统智能。这就像交响乐团中…

2026/11/5 0:02:07

大模型系统性入门实战指南:从原理到部署微调的全链路路线

提到大模型的系统性入门,我先说个结论:这事真不难,难的是资料太散、路线太多,今天这个框架明天那个工具,新人很容易在“收藏夹吃灰”和“教程看到一半放弃”之间反复横跳。市面上关于大模型的内容少说有几十万篇&#…

2026/11/5 0:02:07

鸿蒙文件系统沙箱机制解析与开发实践

1. 鸿蒙文件系统沙箱机制深度解析作为一名从Android转向鸿蒙开发的工程师,我深刻体会到文件系统访问是迁移过程中最先遇到的"拦路虎"。在Android上运行良好的文件读写代码,在鸿蒙真机环境却频频出现文件写入后神秘消失或直接抛出权限拒绝错误的…

2026/11/4 12:38:23

面向复杂光照与角度的宠物面部识别鲁棒性增强策略

在智慧养宠时代,基于视觉的宠物身份识别技术正逐步从实验室走向家庭应用。然而,与配合度高的人类不同,宠物是典型的“非合作生物识别对象”——它们不会主动配合摄像头调整姿态,更无法控制光照环境。实际应用中,我们常…

2026/11/4 21:04:25

SSM电子书店源码全解析:结构、原理、部署与排错实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑