📌 前言
最近在学习 AI 应用开发,发现 Dify 是一个非常优秀的开源 LLM 应用开发平台。本文记录在腾讯云轻量应用服务器上部署 Dify 的完整过程,希望能帮助到有需要的朋友。

最终成果: 成功部署后,可以通过

http://xxxxxxxxx 访问自己的 Dify 实例。

🛒 一、服务器准备

1.1 购买/重装服务器

我使用的是腾讯云轻量应用服务器,配置如下:

  • CPU:2核

  • 内存:4GB(推荐 2GB 以上)

  • 系统盘:60GB SSD

  • 带宽:6Mbps

  • 系统镜像:Ubuntu 22.04 LTS

💡 提示:轻量应用服务器经常有活动,新用户性价比很高。

1.2 防火墙配置

在腾讯云控制台放行以下端口:

端口    用途
22    SSH 远程连接
80    HTTP 访问
443    HTTPS 访问(后续配置)
5001    Dify API 服务
8888    宝塔面板(可选)

🐳 二、安装 Docker
2.1 更新系统

apt update && apt upgrade -y

更新完要重启服务器

2.2安装docker

# 使用官方安装脚本
curl -fsSL https://get.docker.com -o get-docker.sh
sh get-docker.sh

# 安装 Docker Compose 插件
apt install docker-compose-plugin -y

2.3 配置镜像加速(国内服务器必备)

cat > /etc/docker/daemon.json <<EOF
{
  "registry-mirrors": [
    "https://mirror.ccs.tencentyun.com",
    "https://docker.m.daocloud.io"
  ]
}
EOF

systemctl daemon-reload
systemctl restart docker

2.4 验证安装

docker --version
docker compose version

🚀 三、部署 Dify
3.1 克隆项目

# 使用 Gitee 镜像(国内速度快)
git clone https://gitee.com/dify_ai/dify.git
cd dify/docker

3.2配置环境变量

# 使用 Gitee 镜像(国内速度快)
git clone https://gitee.com/dify_ai/dify.git
cd dify/docker

3.3 创建自定义配置

cat > docker-compose.override.yaml << 'EOF'
version: '3.8'

services:
  web:
    ports:
      - "80:3000"
    environment:
      CONSOLE_API_URL: http://dify.xx.cn
      APP_API_URL: http://dify.xx.cn
      SERVICE_API_URL: http://dify.xx.cn
      FILES_URL: http://dify.xx.cn
      INTERNAL_FILES_URL: http://api:5001

  api:
    ports:
      - "5001:5001"
EOF

3.4启动服务

docker compose up -d

3.5 查看运行状态

docker compose ps

正常情况下应该看到以下容器都在运行:

🌐 四、访问与初始化

4.1 首次访问

在浏览器打开 http://你的服务器IP,进入初始化页面。

4.2 设置管理员账号

填写以下信息:

  • 邮箱admin@dify.com

  • 姓名Admin

  • 密码Admin123456

4.3 配置模型供应商

登录后,点击右上角头像 → 设置 → 模型供应商,添加你的 AI 模型:

🔒 五、配置 HTTPS(可选)

5.1 安装宝塔面板

wget -O install.sh https://download.bt.cn/install/install-ubuntu_6.0.sh && bash install.sh

5.2 申请 SSL 证书
在宝塔中添加站点(反向代理模式)

目标 URL 填写 http://127.0.0.1:80

使用 Let's Encrypt 一键申请免费证书

5.3 停止 Docker Nginx

cd /root/dify/docker
docker compose stop nginx

📝 六、常用管理命令

# 进入 Dify 目录
cd /root/dify/docker

# 查看服务状态
docker compose ps

# 查看实时日志
docker compose logs -f

# 查看特定服务日志
docker compose logs api -f

# 重启服务
docker compose restart

# 停止服务
docker compose down

# 启动服务
docker compose up -d

# 备份数据库
docker exec docker-db_postgres-1 pg_dump -U postgres dify > dify_backup.sql

🎯 七、快速创建第一个应用
7.1 创建聊天助手
点击 创建空白应用

选择 聊天助手

输入提示词,例如:

你是一个温暖贴心的生活助手,名字叫“哆啦A梦”。

你的风格:
- 亲切自然,像朋友一样聊天
- 回答实用、具体、可操作
- 多给选择,让用户自己做决定
- 偶尔用表情符号增加亲和力 ☺️

你擅长的领域:
1. 健康饮食(菜谱、营养搭配)
2. 家居生活(收纳、清洁小妙招)
3. 情绪陪伴(倾听、安慰、鼓励)
4. 时间管理(规划、克服拖延)
5. 购物建议(性价比分析)

回答原则:
- 先说重点,再说细节
- 如果用户问的问题超出你的范围,诚实说“这个我不太确定”
- 给出建议时加上“你觉得呢?”让用户参与
  1. 点击 发布

7.2 测试对话

在右侧对话框输入问题,测试 AI 回复效果。

⚠️ 八、常见问题解决

8.1 文件上传 404 错误

原因:Nginx 没有配置 /files/ 代理

解决:在 Nginx 配置中添加:

location /files/ {
    proxy_pass http://api:5001/files/;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}

8.2 插件安装超时
原因:国内访问 Python 官方源慢

解决:配置国内镜像源

# 在 docker-compose.override.yaml 中添加
plugin_daemon:
  environment:
    PIP_MIRROR_URL: https://mirrors.aliyun.com/pypi/simple/

8.3 端口冲突
原因:80 端口被其他服务占用

解决:修改 Docker 映射端口或停止冲突服务

# 查看端口占用
netstat -tulpn | grep :80

# 停止占用端口的服务
systemctl stop nginx

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐