第一部分:安装 Docker
# 1. 更新系统
sudo dnf update -y
# 2. 安装必要工具
sudo dnf install-y dnf-plugins-core gitcurlvim
# 3. 添加阿里云 Docker 源
sudo dnf config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# 4. 替换为阿里云地址
sudosed-i's+download.docker.com+mirrors.aliyun.com/docker-ce+' /etc/yum.repos.d/docker-ce.repo
# 5. 安装 Docker
sudo dnf install-y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
# 6. 配置镜像加速
sudomkdir-p /etc/docker
sudotee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://docker.1ms.run"],
"log-driver": "json-file",
"log-opts": {
"max-size": "100m",
"max-file": "3"
}
}
EOF
# 7. 启动 Docker
sudo systemctl daemon-reload
sudo systemctl start docker
sudo systemctl enabledocker
# 8. 验证安装
docker--version
docker compose version
第二部分:部署 Ollama
# 1. 创建模型存放目录
sudomkdir-p /data/ollama
# 2. 下载 Ollama 镜像
docker pull ollama/ollama:latest
# 3. 启动 Ollama 容器
docker run -d\
--name ollama \
--restart always \
-v /data/ollama:/root/.ollama \
-p11434:11434 \
ollama/ollama
# 4. 验证 Ollama
curl http://localhost:11434/api/version
# 5. 下载中文模型(约 4GB,耐心等待)
dockerexec-it ollama ollama pull qwen2:7b
# 6. 测试模型(输入 /bye 退出)
dockerexec-it ollama ollama run qwen2:7b
第三部分:部署 Dify
步骤 1:下载 Dify 代码
cd /opt
# 方式1:GitHub 镜像(推荐,无需登录)
git clone https://ghproxy.net/https://github.com/langgenius/dify.git
# 如果失败,用方式2:直接 GitHub
# git clone https://github.com/langgenius/dify.git
# 如果还失败,用方式3:压缩包
# curl -L https://github.com/langgenius/dify/archive/refs/tags/1.13.3.tar.gz -o dify.tar.gz
# tar -zxvf dify.tar.gz
# mv dify-1.13.3 dify
# 验证下载成功
ls-la /opt/dify |head-5
# 进入 docker 配置目录
cd /opt/dify/docker
# 复制环境变量模板
cp .env.example .env
步骤 2:配置环境变量
请勿使用cp .env.example .env,必须使用下面提供的cat
> .env命令,否则数据库连接会失败。
cat> .env <<'EOF'
# 数据库配置
DB_HOST=db_postgres
DB_PORT=5432
DB_USER=dify
DB_PASSWORD=Dify@2026
DB_NAME=dify
# Redis 配置
REDIS_HOST=redis
REDIS_PORT=6379
REDIS_PASSWORD=
REDIS_DB=0
# Ollama 配置(重要:Linux 必须用 172.17.0.1)
OLLAMA_API_BASE_URL=http://172.17.0.1:11434
OLLAMA_MODEL=qwen2:7b
# 管理员密码
CONSOLE_PASSWORD=Admin@2026
# 关闭证书警告
CERTBOT_EMAIL=
CERTBOT_DOMAIN=
EOF
步骤 3:创建 sandbox 配置文件(关键步骤)
# 创建配置目录(使用原文件自带的 volumes 路径)
mkdir-p /opt/dify/docker/volumes/sandbox/conf
# 写入配置文件
sudotee /opt/dify/docker/volumes/sandbox/conf/config.yaml <<'EOF'
app:
port: 8194
debug: false
python:
path: /usr/local/bin/python3
threads: 4
nodejs:
path: /usr/local/bin/node
threads: 4
EOF
# 验证文件已创建
ls-la /opt/dify/docker/volumes/sandbox/conf/
cat /opt/dify/docker/volumes/sandbox/conf/config.yaml
步骤 4:拉取依赖镜像
docker pull langgenius/dify-api:1.13.3
docker pull langgenius/dify-web:1.13.3
docker pull langgenius/dify-sandbox:0.2.14
docker pull langgenius/dify-plugin-daemon:0.5.3-local
docker pull redis:6-alpine
docker pull nginx:latest
docker pull ubuntu/squid:latest
docker pull busybox:latest
docker pull postgres:15-alpine
步骤 5:禁用 plugin-daemon(可选)
如果启动后网页一直转圈,再执行这一步。不影响聊天和知识库功能。
# 备份原文件
cp docker-compose.yaml docker-compose.yaml.bak
# 删除 plugin_daemon 服务
sed-i'/plugin_daemon:/,/^[a-z]/d' docker-compose.yaml
步骤 6:启动 Dify
# 启动所有容器
docker compose up –d
# 等待容器启动
sleep15
# 查看容器状态(所有应该是 Up)
docker compose ps
步骤 7:执行数据库迁移
# 进入 api 容器执行迁移
dockerexec-it docker-api-1 flask db upgrade
# 重启 worker 容器
docker compose restart worker worker_beat
第四部分:配置防火墙
# 开放 80 端口(Dify 网页)
sudo firewall-cmd --permanent --add-port=80/tcp
# 开放 11434 端口(Ollama API,可选)
sudo firewall-cmd --permanent --add-port=11434/tcp
# 重载防火墙
sudo firewall-cmd --reload
# 查看已开放端口
sudo firewall-cmd --list-ports
第五部分:修复网络访问(重要!)
Rocky Linux 默认 iptables FORWARD 策略为 DROP,会导致外部无法访问。必须执行以下命令:
# 修改 FORWARD 策略为 ACCEPT
sudo iptables -P FORWARD ACCEPT
# 保存规则(永久生效)
sudo iptables-save |sudotee /etc/sysconfig/iptables
# 验证
sudo iptables -L FORWARD -n|head-1
# 应该显示:Chain FORWARD (policy ACCEPT)
第六部分:验证部署
# 1. 查看容器状态(全部应为 Up)
docker compose ps
# 2. 测试 sandbox
curl http://localhost:8194/health
# 应返回 {"code":0,"message":"ok"}
# 3. 测试 Ollama
curl http://localhost:11434/api/version
# 4. 测试网页
curl-I http://localhost
# 应返回 HTTP/1.1 307 Temporary Redirect
第七部分:访问 Dify
打开浏览器,输入:http://你的服务器IP
例如:http://192.168.1.100
登录信息:
·邮箱:admin@dify.ai
·用户名:admin或你喜欢的
·密码:Admin@2026
设置完成后
1.登录 Dify
2.配置 Ollama 模型:
o点击右上角头像 → 设置
o选择模型供应商 → Ollama
o点击添加模型
o模型类型:必须选择LLM
o模型名称:qwen2:7b
o基础 URL:http://172.17.0.1:11434
3.创建应用:
o回到主页点击创建应用
o选择Chatflow(对话型应用)
o在提示词中输入你的需求
o选择 Ollama qwen2:7b作为模型
o点击发布后者直接预览后在聊天框问答即可