当前位置:   article > 正文

从零开始之Dify部署篇

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
  • 1

修改网卡配置

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"

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21

网卡配置信息

3. 修改DNS配置

修改DNS配置,命令如下。

vi /etc/resolv.conf
  • 1
nameserver 8.8.8.8
nameserver 8.8.4.4
search localdomain
  • 1
  • 2
  • 3

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"]
}
  • 1
  • 2
  • 3
  • 4

Docker镜像加速源配置传送门

6. 部署Dify

1. 下载Dify

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

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

2. 编排Dify

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

cd dify/docker
docker compose up -d
  • 1
  • 2

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;
    }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29

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

docker inspect docker-api-1
  • 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;
    }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29

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

docker restart docker-nginx-1
  • 1

8. 测试

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

http://192.168.200.130/
  • 1

Dify界面

9. 辅助工具Finalshell安装

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


参考

本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号