从零开始之Dify部署篇

从零开始之Dify部署篇


前言

Dify是一个对接大模型的脚手架,Dify对应的文档地址为:Dify传送门。本系列文章从零开始探索Dify的功能及搭建过程。本文的搭建流程是基于Docker Compose进行部署。


一、工具列表

搭建Dify需要准备的工具列表有:

  • vmware
  • centos
  • docker
  • docker-compose
  • dify

二、搭建流程

1. VMWare安装

VMWare安装流程传送门

2. Centos安装

Centos安装流程传送门

3. Centos环境配置

本文将Centos系统配置为静态IP:192.168.200.130,对应的子网为192.168.200.0。防止每次服务器重启,对应的IP都会变化。

1. 更改子网IP

在“编辑(E) "上左键单击,然后在"虚拟网络编辑器(N)… "上左键单击。
虚拟网络编辑器
进入虚拟网络编辑器页面后点击【更改设置】,更改子网IP为192.168.200.0
子网IP更改

2. 配置静态IP地址

修改网卡配置,命令如下,其中的 ifcfg-ens33 为配置对应的网卡。

vi /etc/sysconfig/network-scripts/ifcfg-ens33

修改网卡配置

TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="static"
IPADDR="192.168.200.130"
GATEWAY="192.168.200.2"
NETMASK="255.255.255.0"
DNS1="8.8.8.8"
DNS2="8.8.4.4"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="ens33"
UUID="d8fbbece-3798-40d7-9333-351a58f811a2"
DEVICE="ens33"
ONBOOT="yes"

网卡配置信息

如果后面经常遇到域名解析失败的情况,可将谷歌的两个免费DNS,即(8.8.8.8和8.8.4.4)换成电信的DNS(114.114.114.114)

更改电信DNS

3. 修改DNS配置(非必要)

修改DNS配置,命令如下。

vi /etc/resolv.conf
nameserver 8.8.8.8
nameserver 8.8.4.4
search localdomain

DNS配置

4. Docker和Docker Compose安装

其中的Docker Compose需要根据对应的Docker版本安装,如果Docker为最新的版本,Docker Compose应为最新版本。Docker Compose若为github上下载下来,可直接上传到服务器的 /usr/local/bin/ 路径下,全路径为: /usr/local/bin/docker-compose
Docker和Docker Compose安装流程传送门
Docker Compose github传送门

5. Docker镜像加速源配置

可以解决docker和docker compose安装容器慢的问题。
创建或修改/etc/docker/daemon.json为如下

{
  "registry-mirrors": ["http://hub-mirror.c.163.com"],
  "insecure-registries":["192.168.200.100:5000"]
}

Docker镜像加速源配置传送门
这个镜像源可以换成其他的,如果用了镜像加速源也不行。可参考 从零开始之Dify二次开发篇 中的 【将dify组件镜像转移到阿里云(可选)】部分 或 【Docker镜像库失效应对策略】教你两种方式快速下载镜像

6. 部署Dify

1. 下载Dify

将Dify代码从github下载至服务器,或者通过http的方式下载Dify的代码的zip文件后,上传至服务器解压缩。

git clone https://github.com/langgenius/dify.git

2. 编排Dify

如果您的系统安装了 Docker Compose V2 而不是 V1,请使用 docker compose 而不是 docker-compose。通过$ docker compose version检查这是否为情况。

cd dify/docker
docker compose up -d

Dify部署结果传送门

7. Nginx配置(最新版本不用配置)

编排后会在存放代码的docker文件夹下生成一个nginx的文件夹,里面存放着nginx的配置文件。
Nginx文件
进入 nginx/conf.d 路径下,会发现default.conf的nginx配置文件。内容如下

server {
    listen 80;
    server_name _;

    location /console/api {
      proxy_pass http://<api-ip>:5001;
      include proxy.conf;
    }

    location /api {
      proxy_pass http://<api-ip>:5001;
      include proxy.conf;
    }

    location /v1 {
      proxy_pass http://<api-ip>:5001;
      include proxy.conf;
    }

    location /files {
      proxy_pass http://<api-ip>:5001;
      include proxy.conf;
    }

    location / {
      proxy_pass http://<web-ip>:3000;
      include proxy.conf;
    }
}

需要将server_name 后的 _ 更改为服务器的IP,本文中的服务器IP地址为192.168.200.130。然后替换和,其中api-ip为api业务服务的ip地址,可通过如下命令查找到。注意每次docker的api业务服务重启都会分配不一样的IP地址。

docker inspect docker-api-1

查找到 NetworkSettings - Networks - docker_default - IPAddress
api-ip配置信息
本文中对应的api业务服务的ip为172.18.0.5,同理可找到web-ip的值为172.18.0.3。更改后的内容如下。

server {
    listen 80;
    server_name 192.168.200.130;

    location /console/api {
      proxy_pass http://172.18.0.5:5001;
      include proxy.conf;
    }

    location /api {
      proxy_pass http://172.18.0.5:5001;
      include proxy.conf;
    }

    location /v1 {
      proxy_pass http://172.18.0.5:5001;
      include proxy.conf;
    }

    location /files {
      proxy_pass http://172.18.0.5:5001;
      include proxy.conf;
    }

    location / {
      proxy_pass http://172.18.0.3:3000;
      include proxy.conf;
    }
}

最后保存Nginx的配置,用如下命令重新启动nginx的docker容器。

docker restart docker-nginx-1

8. 测试

用浏览器进行校验,服务器IP加上斜杆/即可

http://192.168.200.130/

Dify界面

9. 辅助工具Finalshell安装

Finalshell可以方便连接Linux服务器,方便文件的上传下载,服务器的状态监控。
Finalshell官方下载传送门


参考

评论 49
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值