首页 最新 热门 推荐

  • 首页
  • 最新
  • 热门
  • 推荐

公用服务器部署dify,全流程版,超详细~

  • 25-03-07 16:22
  • 3547
  • 5554
blog.csdn.net

考虑到一般公司内网或者学校等特定网络可能有网络限制,因此无法直接执行一键安装脚本命令来安装docker,故采用安装包形式安装。

1.基础环境

OS: CENTOS-7.9

2.docker安装

2.1, 下载安装包

#(在线)脚本命令:

sudo curl -fsSL https://gitee.com/tech-shrimp/docker_installer/releases/download/latest/linux.sh | bash -s docker --mirror Aliyun

由于网络限制, 无法直接使用官方脚本自动安装,采用安装包下载

(离线)安装包:

访问https://download.docker.com/linux/static/stable/,

选择x86 64/, 随后选择docker-27.3.1.tgz(至少20.10以上版本)

下载后将安装包上传至服务器,ls一下即可看到对应的安装包

(要明确在哪个目录下,比如我的服务器是在/tmp下)

 2.2, 上传至服务器

  1. cd /tmp   #对应目录下
  2. tar -xvf docker-27.3.1.tgz    # 解压安装包:
  3. chmod 755 -R docker   # 赋予可执行权限
  4. cp docker/* /usr/bin/     # 复制docker到/usr/bin/目录下,全局可执行的docker命令
  5. vim /etc/systemd/system/docker.service  # 创建docker服务配置文件docker.service

(输入i插入,esc切换格式,:wq退出。)

  1. #========================================================================================= 
  2. [Unit]
  3. Description=Docker Application Container Engine
  4. Documentation=https://docs.docker.com
  5. After=network-online.target firewalld.service
  6. Wants=network-online.target
  7. [Service]
  8. Type=notify
  9. ExecStart=/usr/bin/dockerd
  10. ExecReload=/bin/kill -s HUP $MAINPID
  11. TimeoutSec=0
  12. RestartSec=2
  13. ExecStartPost=/usr/sbin/iptables -P FORWARD ACCEPT
  14. Restart=always
  15. TimeoutStartSec=0
  16. LimitNOFILE=infinity
  17. LimitNPROC=infinity
  18. LimitCORE=infinity
  19. Delegate=yes
  20. KillMode=process
  21. StartLimitBurst=3
  22. StartLimitInterval=60s
  23. [Install]
  24. WantedBy=multi-user.target
  25. #=========================================================================================

修改完之后,赋予执行权限

chmod +x /etc/systemd/system/docker.service

启动docker服务即可

systemctl start docker

(一些其他命令)

  1. systemctl enable docker.service  # 开机自启动
  2. systemctl status docker    # 查看服务
  3. systemctl stop docker   # 停止服务
  4. docker --version   # 查看版本

3, docker-compose安装

 3.1, 下载安装包

访问https://github.com/docker/compose/tags

选择v20.3.1  ---   点击download下载 --- 选择linux-x86_64链接下载

下载后将安装包上传至服务器

 3.2, 上传至服务器

在tmp下ls一下能看到如下文件即可

  1. cp -f docker-compose-linux-x86_64 /usr/local/bin/docker-compose #复制docker-compose到/usr/local/bin/目录下
  2. chmod +x /usr/local/bin/docker-compose  #赋予可执行权限
  3. docker-compose --version   # 查看版本

 4, 部署dify

4.1.进入目录

首先进入到自己想存放dify的目录下,比如我存在data目录下

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

4.2.部署

等待拉取完成后ls一下,查看有个dify的文件夹,表示成功拉取下来了

4.3.赋予权限

将前面安装的docker和docker-compose都cp过来,并赋予执行权限

这里有个注意点,即复制docker时不能直接cp docker/* /data/dify,
因为dify下有个docker文件夹,这样的话,会导致报错,正确命令如下:

  1. cp docker/* /data/dify/docker    # 复制docker
  2. chmod +x /data/dify/docker   # 赋予可执行权限
  3. cp -f docker-compose-linux-x86_64 /data/dify/docker-compose   # 复制docker-compose
  4. chmod +x /data/dify/docker-compose   # 赋予可执行权限

4.4.运行dify

  1. cd /data/dify/docker   # 先切换到自己的目录
  2. sudo docker-compose up -d   # 运行

(ps:会有点慢,等待ing)

可能出现的报错:

# 1,error:sudo: docker-compose: command not found   一般是docker-compose没有正确安装

# 可能的解决方案:

# ①存在权限问题,要给他赋予权限:

chmod +x docker-compose

# ②使用完整路径执行:

sudo /data/dify/docker-compose up -d

# 2,error:The "DB_DATABASE" variable is not set. Defaulting to a blank string. ......缺少环境变量

# 解决方案:

# 创建.env文件并设置环境变量:(根据yaml问价你的默认值进行设置)

  1. echo "DB_DATABASE=dify" > .env
  2. echo "DB_USERNAME=postgres" >> .env
  3. echo "DB_PASSWORD=difyai123456" >> .env
  4. echo "[email protected]" >> .env
  5. echo "CERTBOT_DOMAIN=10.xx.x.180.com" >> .env

#3,Error response from daemon: Get "https://registry-1.docker.io/v2/ ": net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)    网络限制,导致启动Docker时,无法从Docker Hub拉取所需的镜像

# 解决方案:

# 打开Docker配置文件,/etc/docker/daemon.json,新增一些镜像加速器地址

sudo vim /etc/docker/daemon.json
  1. #=========================================================================================
  2. {
  3.   "registry-mirrors": [
  4.     "https://docker.1ms.run",
  5.     "https://docker.xuanyuan.me",
  6.     "https://docker.m.daocloud.io",
  7.     "https://hub-mirror.c.163.com",
  8.     "https://dockercf.jsdelivr.fyi",
  9.     "https://docker.jsdelivr.fyi",
  10.     "https://dockertest.jsdelivr.fyi",
  11.     "https://mirror.aliyuncs.com",
  12.     "https://dockerproxy.com",
  13.     "https://mirror.baidubce.com",
  14.     "https://docker.m.daocloud.io",
  15.     "https://docker.nju.edu.cn",
  16.     "https://docker.mirrors.sjtug.sjtu.edu.cn",
  17.     "https://docker.mirrors.ustc.edu.cn",
  18.     "https://mirror.iscas.ac.cn",
  19.     "https://docker.rainbond.cc"
  20.   ]
  21. }
  22. #=========================================================================================

随后再次运行命令

sudo /data/dify/docker-compose up -d  

完成后

sudo docker ps

看到有个nginx的容器,且对外访问的是80端口,即可测试

 5, 安装Cpolar

5.1, 安装

curl -L https://www.cpolar.com/static/downloads/install-release-cpolar.sh | sudo bash

5.2, 启动服务

  1. sudo systemctl enable cpolar   # 加入系统服务设置开机启动
  2. sudo systemctl start cpolar   # 启动cpolar服务

# (可选)其他命令:

  1. sudo systemctl restart cpolar   # 重启cpolar服务
  2. sudo systemctl status cpolar  # 查看cpolar服务状态
  3. sudo systemctl stop cpolar   # 停止cpolar服务

5.3, 启动cpolar

1.登录http://10.16.3.180:9200

2.注册账户,eg:

账号ysl@xxx

密码difyai123456

3.创建一个dify的公网http地址隧道

隧道名称:可自定义命名,注意不要与已有的隧道名称重复

协议:选择http

本地地址:80 (docker部署后对外访问的端口)

域名类型:免费选择随机域名

地区:选择China-top

在在线隧道列表中即可看见生成的随机公网地址

即可根据cpolar生成的随机公网地址进行访问

(ps:随机公网地址一般是临时的,24小时内会变化,随后可以重新申请)

5.4,启动dify

使用前面环境中定义的账号密码,即可登录dify

注:本文转载自blog.csdn.net的Seany..的文章"https://blog.csdn.net/weixin_46376456/article/details/145702354"。版权归原作者所有,此博客不拥有其著作权,亦不承担相应法律责任。如有侵权,请联系我们删除。
复制链接
复制链接
相关推荐
发表评论
登录后才能发表评论和回复 注册

/ 登录

评论记录:

未查询到任何数据!
回复评论:

分类栏目

后端 (14832) 前端 (14280) 移动开发 (3760) 编程语言 (3851) Java (3904) Python (3298) 人工智能 (10119) AIGC (2810) 大数据 (3499) 数据库 (3945) 数据结构与算法 (3757) 音视频 (2669) 云原生 (3145) 云平台 (2965) 前沿技术 (2993) 开源 (2160) 小程序 (2860) 运维 (2533) 服务器 (2698) 操作系统 (2325) 硬件开发 (2492) 嵌入式 (2955) 微软技术 (2769) 软件工程 (2056) 测试 (2865) 网络空间安全 (2948) 网络与通信 (2797) 用户体验设计 (2592) 学习和成长 (2593) 搜索 (2744) 开发工具 (7108) 游戏 (2829) HarmonyOS (2935) 区块链 (2782) 数学 (3112) 3C硬件 (2759) 资讯 (2909) Android (4709) iOS (1850) 代码人生 (3043) 阅读 (2841)

热门文章

121
服务器
关于我们 隐私政策 免责声明 联系我们
Copyright © 2020-2024 蚁人论坛 (iYenn.com) All Rights Reserved.
Scroll to Top