腾讯云+Dify+DeepSeek,手把手教你打造专属AI助手!
市面上虽然有很多AI工具,但要么收费高,要么数据安全没保障,要么功能受限。完全掌控数据:所有对话记录、知识库文件都存放在你自己的服务器上。自由选择模型:支持DeepSeek、OpenAI、腾讯混元、智谱等多种模型,随时切换。成本极低:2核4G服务器一年只要一百多块钱,DeepSeek的API费用几乎可以忽略不计。功能强大:可视化工作流、知识库问答、API集成……满足各种需求。接下来,我们就开始这场
保姆级教程,国内国外服务器通用,附一键部署脚本!
很多朋友买了腾讯云轻量应用服务器后,发现预装的镜像是OpenClaw(一个AI Agent工具),想部署Dify却不知道怎么下手。今天这篇教程,就带你在OpenClaw镜像基础上手动部署Dify平台,并接入当下大火的DeepSeek云端模型,打造属于你自己的AI应用中心!
无论你的服务器在国内还是国外(比如东京地域),这套方法都适用。全程实操,照着做就能成功!
关注我,领取一月“plus”会员福利
前言:为什么要自己搭建AI平台?
市面上虽然有很多AI工具,但要么收费高,要么数据安全没保障,要么功能受限。自己部署Dify,你可以:
- 完全掌控数据:所有对话记录、知识库文件都存放在你自己的服务器上。
- 自由选择模型:支持DeepSeek、OpenAI、腾讯混元、智谱等多种模型,随时切换。
- 成本极低:2核4G服务器一年只要一百多块钱,DeepSeek的API费用几乎可以忽略不计。
- 功能强大:可视化工作流、知识库问答、API集成……满足各种需求。
接下来,我们就开始这场奇妙的AI部署之旅!
一、准备工作
1.1 服务器环境确认

| 项目 | 说明 |
|---|---|
| 服务器类型 | 腾讯云轻量应用服务器(2核4GB) |
| 当前镜像 | OpenClaw(基于Ubuntu) |
| 操作系统 | Ubuntu 24.04(或其他版本) |
| 地域 | 东京(国外) / 国内均可 |
注意:即使你使用的是国内服务器,本文也会给出镜像加速等解决方案,不用担心网络问题。
1.2 连接服务器
使用SSH工具连接到服务器(推荐腾讯云自带的OrcaTerm,或本地终端):
ssh root@你的服务器IP
如果是第一次连接,会提示确认指纹,输入 yes 即可。
1.3 检查系统环境
# 查看系统版本
cat /etc/os-release
# 查看内存和磁盘
free -h
df -h
确保磁盘剩余空间大于20GB,内存至少2GB。
1.4 开放端口
在腾讯云控制台 → 防火墙规则中,确保以下端口开放:
| 端口 | 用途 |
|---|---|
| 22 | SSH登录 |
| 80 | Dify Web界面(或自定义端口) |
| 443 | HTTPS(如需配置SSL) |
如果后续要用域名访问,记得提前解析域名。
二、安装Docker环境
Dify官方推荐使用Docker Compose部署,这是最稳定、最省事的方式。
2.1 更新系统并安装基础工具
apt update
apt install -y curl git wget vim
2.2 安装Docker
使用官方一键脚本安装(国内用户可能需要配置镜像源,我们后面会处理):
curl -fsSL https://get.docker.com -o get-docker.sh
sh get-docker.sh


2.3 安装Docker Compose插件
apt install -y docker-compose-plugin
2.4 配置镜像加速(国内服务器必做!)
如果你是国内服务器,Docker拉取镜像会很慢,需要配置镜像加速器。
创建/编辑 /etc/docker/daemon.json:
mkdir -p /etc/docker
cat > /etc/docker/daemon.json << EOF
{
"registry-mirrors": [
"https://mirror.ccs.tencentyun.com",
"https://docker.m.daocloud.io",
"https://docker.nju.edu.cn"
]
}
EOF
重启Docker:
systemctl daemon-reload
systemctl restart docker
国外服务器(如东京)可以跳过这一步,直接使用默认源即可。
2.5 验证安装
docker --version
docker compose version
看到版本号输出即成功。

三、部署Dify平台
3.1 下载Dify源代码
cd /opt
git clone https://github.com/langgenius/dify.git
cd dify/docker
如果git clone速度慢(国内服务器),可以使用代理或直接下载ZIP包。

备用方案(手动下载ZIP):
cd /opt
wget https://github.com/langgenius/dify/archive/refs/heads/main.zip
unzip main.zip
mv dify-main dify
cd dify/docker
3.2 配置环境变量
复制环境变量模板:
cp .env.example .env
关键配置(可选,一般保持默认即可):
- 如需修改访问端口:编辑
docker-compose.yaml,找到nginx服务下的ports,将"80:80"改为"8080:80"(外部8080映射内部80)。 - 如需自定义数据存储路径:修改
.env中的DIFY_DATA_DIR。
3.3 启动Dify服务
docker compose up -d
首次启动会拉取镜像,可能需要几分钟(国内服务器可能稍慢,耐心等待)。

3.4 检查服务状态
docker compose ps
你应该看到类似这样的输出:

所有服务状态为 running 即正常。
3.5 查看日志(可选)
如果某些服务没起来,可以查看日志排查:
# 查看所有日志
docker compose logs
# 查看特定服务日志
docker compose logs api
常见问题:端口占用、磁盘空间不足、镜像拉取失败等。
四、初始化Dify
4.1 访问安装页面
在浏览器中输入:
http://你的服务器IP
如果你修改了端口,则为 http://你的服务器IP:8080。

首次访问会跳转到管理员注册页面:
- 填写邮箱(建议用真实邮箱)
- 设置用户名
- 设置密码
这个密码是Dify的管理员密码,请务必牢记。
4.2 登录系统
注册成功后,使用邮箱和密码登录,进入Dify主界面。

现在,Dify已经成功运行了!你可以先随便聊几句,体验一下内置的模型(如果有的话)。接下来我们接入DeepSeek模型。
五、接入DeepSeek云端模型
DeepSeek是目前性价比最高的模型之一,128K上下文,价格极低,非常适合个人开发者。
5.1 获取DeepSeek API Key
- 访问 DeepSeek开放平台(需注册)。
- 登录后进入「API Keys」页面,点击「创建API Key」。
- 复制生成的Key,保存好。
注意:DeepSeek新用户通常有免费额度,足够测试使用。

5.2 在Dify中添加模型
- 登录Dify,点击右上角头像 →「设置」。
- 左侧菜单选择「模型供应商」。
- 点击「添加模型」或「自定义模型」。
- 填写信息:
| 字段 | 值 |
|---|---|
| 模型类型 | LLM |
| 模型名称 | deepseek-chat(或deepseek-reasoner等) |
| 模型供应商 | 选择「OpenAI-API-compatible」 |
| API端点 | https://api.deepseek.com/v1 |
| API Key | 粘贴你的DeepSeek API Key |
| 模型支持的功能 | 勾选「对话」即可 |

- 点击「保存」完成配置。
如果希望使用DeepSeek-R1推理模型,模型名称填
deepseek-reasoner。
5.3 测试模型
回到「工作室」,创建一个聊天助手应用,在模型选择下拉框中应该能看到刚添加的DeepSeek模型。选中后开始对话,看看是否正常响应。
如果返回错误,检查API Key和端点是否正确,以及服务器能否访问DeepSeek的API(国内服务器可能需要设置代理)。

六、优化建议:让Dify跑得更稳更快
6.1 资源限制
Dify默认各容器无资源限制,可能会占用过多内存。建议在 docker-compose.yaml 中添加限制:
services:
api:
image: langgenius/dify-api:1.7.2
restart: always
mem_limit: 1G # 限制最大内存 1GB
memswap_limit: 1G # 限制内存+交换分区总和,与 mem_limit 相同则禁用 swap
...
worker:
image: langgenius/dify-api:1.7.2
restart: always
mem_limit: 1G
memswap_limit: 1G
...
web:
image: langgenius/dify-web:1.7.2
restart: always
mem_limit: 512M # Web 服务可以给少一些
memswap_limit: 512M
...
修改后重启服务:
docker compose down && docker compose up -d
验证内存限制是否生效:
docker stats --no-stream

6.2 启用Redis缓存
默认已经启用了Redis,可以大幅提升会话读取速度。检查Redis容器是否正常运行:
docker compose ps redis
6.3 配置HTTPS(推荐)
为Dify配置SSL证书,通过Nginx反向代理实现HTTPS访问,提高安全性。有两种方式:一是修改Dify自带的Nginx容器配置,二是在宿主机上单独部署Nginx做反向代理。我们采用第二种方式,更灵活且不影响Dify升级。
6.3.1 安装Nginx
apt install -y nginx
6.3.2 获取SSL证书
可以使用Let’s Encrypt免费证书(推荐),或腾讯云免费证书。
方法一:Let’s Encrypt(需要域名已解析)
# 安装certbot
apt install -y certbot python3-certbot-nginx
# 自动获取证书并配置Nginx(需域名已解析到服务器IP)
certbot --nginx -d your-domain.com
方法二:腾讯云免费证书
- 登录腾讯云控制台 → SSL证书 → 申请免费证书。
- 下载证书(Nginx格式),将证书文件上传到服务器,比如放在
/etc/nginx/ssl/目录。
6.3.3 配置Nginx反向代理
创建Nginx配置文件 /etc/nginx/sites-available/dify:
server {
listen 80;
server_name your-domain.com;
return 301 https://$server_name$request_uri;
}
server {
listen 443 ssl http2;
server_name your-domain.com;
ssl_certificate /etc/nginx/ssl/your-domain.com.crt;
ssl_certificate_key /etc/nginx/ssl/your-domain.com.key;
# 安全增强配置
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
# 日志
access_log /var/log/nginx/dify-access.log;
error_log /var/log/nginx/dify-error.log;
# 反向代理到Dify容器(Dify运行在80端口)
location / {
proxy_pass http://127.0.0.1:80;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
# WebSocket支持(Dify可能需要)
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
# 限制上传大小(Dify上传文件可能较大)
client_max_body_size 100M;
}
启用站点并测试:
ln -s /etc/nginx/sites-available/dify /etc/nginx/sites-enabled/
nginx -t
systemctl reload nginx
注意:Dify本身运行在80端口,Nginx监听443并将请求转发到80。如果Dify修改过端口,请相应调整proxy_pass地址。
6.3.4 调整防火墙
开放443端口,并确保80端口仍开放(用于重定向)。
6.4 定期备份
数据是核心资产,必须定期备份。Dify的数据包括:
- PostgreSQL数据库:存储用户、应用、对话等结构化数据。
- Weaviate向量数据库:存储知识库的向量索引(默认使用Weaviate)。
- 上传文件:用户上传到知识库的原始文件(存储在
volumes/storage目录)。
以下脚本将备份这些数据,并上传到腾讯云COS(可选)。创建备份脚本 /root/backup_dify.sh:
#!/bin/bash
# Dify 备份脚本
# 使用方法:chmod +x /root/backup_dify.sh && /root/backup_dify.sh
BACKUP_DIR="/root/dify_backups"
DATE=$(date +%Y%m%d_%H%M%S)
BACKUP_NAME="dify_backup_$DATE"
BACKUP_PATH="$BACKUP_DIR/$BACKUP_NAME"
mkdir -p "$BACKUP_PATH"
cd /opt/dify/docker
# 1. 备份数据库(PostgreSQL)
echo "正在备份PostgreSQL..."
docker compose exec -T db pg_dump -U postgres dify > "$BACKUP_PATH/dify_db.sql"
# 2. 备份向量数据库(Weaviate)的数据目录
echo "正在备份Weaviate数据..."
cp -r volumes/weaviate "$BACKUP_PATH/weaviate_data"
# 3. 备份上传文件
echo "正在备份上传文件..."
cp -r volumes/storage "$BACKUP_PATH/storage"
# 4. 压缩打包
cd "$BACKUP_DIR"
tar -czf "$BACKUP_NAME.tar.gz" "$BACKUP_NAME"
rm -rf "$BACKUP_PATH"
# 5. 保留最近7天的备份,删除更早的
find "$BACKUP_DIR" -name "*.tar.gz" -mtime +7 -delete
# 6. 可选:上传到腾讯云COS(需安装coscli)
# /usr/local/bin/coscli cp "$BACKUP_DIR/$BACKUP_NAME.tar.gz" cos://bucket-name/dify_backups/
echo "备份完成:$BACKUP_DIR/$BACKUP_NAME.tar.gz"
赋予执行权限并测试:
chmod +x /root/backup_dify.sh
/root/backup_dify.sh
设置定时任务(每天凌晨2点执行):
crontab -e
# 添加以下行
0 2 * * * /root/backup_dify.sh >> /var/log/dify_backup.log 2>&1
如果使用了腾讯云COS,可以安装coscli工具,并将备份文件自动上传到对象存储,实现异地容灾。
6.5 监控与告警
如果担心服务挂掉,可以配置Docker的自动重启策略,并利用腾讯云监控。
自动重启:在 docker-compose.yaml 中为服务添加 restart: always,例如:
services:
api:
restart: always
worker:
restart: always
腾讯云监控:在腾讯云控制台为服务器配置「云监控」,设置CPU、内存、磁盘使用率告警。
简单健康检查脚本:可以写一个脚本检查Dify服务是否正常,异常时自动重启或发送通知。
#!/bin/bash
# 健康检查脚本
if ! curl -s -f http://localhost/health > /dev/null; then
echo "Dify服务异常,尝试重启..."
cd /opt/dify/docker && docker compose restart
fi
加入cron,每5分钟执行一次。
七、使用场景推荐
1. 企业内部知识库问答
上传公司制度、产品手册、培训资料,员工随时提问,AI基于内部文档回答。
2. 个人学习助手
上传学习笔记、教材PDF,让AI帮你总结、答疑、出题。
3. 智能客服
将Dify嵌入网站,7x24小时自动回复用户问题,降低人工成本。
4. 内容创作辅助
训练AI写文章、做方案、生成创意文案,提高创作效率。
5. 代码辅助
上传代码库文档,让DeepSeek帮你写代码、调试、解释代码逻辑。
八、常见问题与解决方案
Q1:访问Dify页面显示502 Bad Gateway?
A:服务还没完全启动,等待1-2分钟刷新重试。如果长时间不行,检查nginx容器是否正常运行:docker compose logs nginx。
Q2:Docker拉取镜像超时(国内服务器)?
A:确认已经配置镜像加速器(见2.4节)。如果仍然失败,可以尝试手动拉取:docker pull langgenius/dify-api:latest。
Q3:DeepSeek API调用失败,提示401?
A:API Key错误或已过期,重新生成一个试试。
Q4:国内服务器无法访问DeepSeek API?
A:DeepSeek的API目前国内可直接访问(无需代理),但如果你的服务器在某些特殊网络环境下,可能需要配置HTTP代理。可以通过环境变量设置代理,或使用境外服务器部署。
Q5:如何更新Dify到最新版?
A:进入 /opt/dify/docker 目录,执行 git pull,然后 docker compose down && docker compose up -d。
Q6:OpenClaw和Dify会冲突吗?
A:不会,它们运行在不同端口(OpenClaw通常监听某个端口,Dify默认80),只要不占用同一端口即可。
Q7:配置HTTPS后,Dify内部API调用失败?
A:需要在Dify的环境变量中配置正确的URL。编辑 .env,设置 APP_URL=https://your-domain.com,然后重启服务。
Q8:备份脚本执行时提示“docker compose: command not found”?
A:脚本中使用了 docker compose,确保系统已安装Docker Compose插件。或者将 docker compose 替换为 docker-compose(旧版命令)。
九、一键部署脚本(完整版)
为了方便大家,我编写了一个一键部署脚本,支持国内/国外服务器,自动安装Docker、配置镜像加速、部署Dify。只需一行命令即可完成所有操作!
使用方法:
curl -sSL https://your-server.com/dify-deploy.sh | bash
如果你希望直接复制代码,可以保存为 deploy_dify.sh 并执行:
chmod +x deploy_dify.sh
./deploy_dify.sh
下面是脚本完整内容:
#!/bin/bash
# Dify + DeepSeek 一键部署脚本
# 适用于 Ubuntu 22.04/20.04,自动处理国内镜像加速
set -e
echo "========================================="
echo " Dify + DeepSeek 一键部署脚本"
echo " 适用于腾讯云2核4G服务器"
echo "========================================="
# 检测是否国内服务器(根据DNS或ping)
echo "正在检测网络环境..."
if ping -c 1 -W 2 baidu.com >/dev/null 2>&1; then
IS_CN=true
echo "检测到国内网络,将配置镜像加速..."
else
IS_CN=false
echo "检测到境外网络,使用默认源..."
fi
# 1. 更新系统并安装基础工具
echo "步骤1:更新系统..."
apt update && apt upgrade -y
apt install -y curl git wget vim
# 2. 安装 Docker
echo "步骤2:安装 Docker..."
if ! command -v docker &> /dev/null; then
curl -fsSL https://get.docker.com -o get-docker.sh
sh get-docker.sh
fi
# 3. 安装 Docker Compose 插件
echo "步骤3:安装 Docker Compose..."
apt install -y docker-compose-plugin
# 4. 配置国内镜像加速(如果国内)
if [ "$IS_CN" = true ]; then
echo "步骤4:配置 Docker 镜像加速..."
mkdir -p /etc/docker
cat > /etc/docker/daemon.json << EOF
{
"registry-mirrors": [
"https://mirror.ccs.tencentyun.com",
"https://docker.m.daocloud.io",
"https://docker.nju.edu.cn"
]
}
EOF
systemctl daemon-reload
systemctl restart docker
fi
# 5. 克隆 Dify 仓库
echo "步骤5:下载 Dify 源码..."
cd /opt
if [ -d "dify" ]; then
echo "Dify 目录已存在,更新代码..."
cd dify
git pull
else
git clone https://github.com/langgenius/dify.git
cd dify
fi
# 6. 配置环境变量
echo "步骤6:配置环境变量..."
cd docker
cp .env.example .env
# 可选:修改端口(如果想改,取消下面注释)
# sed -i 's/80:80/8080:80/g' docker-compose.yaml
# 7. 启动服务
echo "步骤7:启动 Dify 服务..."
docker compose up -d
# 8. 等待服务启动
echo "步骤8:等待服务启动(约30秒)..."
sleep 30
# 9. 获取IP地址
IP=$(curl -s ifconfig.me)
# 10. 输出访问信息
echo "========================================="
echo "部署完成!"
echo "访问地址:http://$IP"
if grep -q "8080:80" docker-compose.yaml; then
echo "(如修改过端口,请使用 http://$IP:8080)"
fi
echo ""
echo "下一步:"
echo "1. 在浏览器中打开上述地址,完成管理员注册"
echo "2. 登录后进入「设置」-「模型供应商」,添加 DeepSeek 模型"
echo "3. DeepSeek API 端点:https://api.deepseek.com/v1"
echo "4. 模型名称:deepseek-chat 或 deepseek-reasoner"
echo ""
echo "脚本执行完毕!"
echo "========================================="
脚本说明:
- 自动检测国内/境外网络,国内自动配置镜像加速。
- 安装Docker、Docker Compose,拉取Dify源码并启动。
- 最后输出访问地址和后续操作指南。
如果git clone失败,可以手动替换为国内镜像源,如
https://gitee.com/langgenius/dify.git。
十、结语
至此,你已经成功在腾讯云2核4G服务器上部署了Dify,并接入了DeepSeek模型。现在,你可以尽情探索Dify的各种功能,构建属于自己的AI应用。
无论是打造个人知识库,还是搭建企业智能客服,这套方案都能轻松应对。而且成本极低,一年服务器费用不到200元,加上DeepSeek的API费用,每天几毛钱就能享受强大的AI能力。
如果在部署过程中遇到任何问题,欢迎在评论区留言,我会尽力解答。也欢迎分享你使用Dify搭建的有趣应用!
关注我,获取更多AI实战教程!
openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构
更多推荐


所有评论(0)