Ubuntu系统下的本地LLM应用开发平台Dify本地搭建与远程访问流程

前言

在人工智能领域快速发展的今天,大语言模型(LLM)的应用开发成为一个备受关注的领域。为了降低开发门槛,加速LLM应用的创新,涌现出了一系列开源平台。Dify 是一款值得关注的开源大语言模型应用开发平台,它融合了后端即服务(Backend as a Service)和 LLMOps 的理念,旨在帮助开发者快速构建生产级的生成式AI应用。

在本地环境中部署 Dify 平台,可以方便开发者进行原型设计和测试。然而,默认情况下,本地部署的 Dify 服务只能在本地网络中访问。为了实现远程访问和协作,我们需要借助一些技术手段,例如内网穿透。
Ubuntu系统下的本地LLM应用开发平台Dify本地搭建与远程访问流程

本文将详细介绍如何在 Linux Ubuntu 系统上使用 Docker 快速部署 Dify 平台,并利用内网穿透工具 cpolar,实现在没有公网 IP 或云服务器的情况下,让其他人也能访问你的本地 Dify 服务。通过本文的学习,你将能够构建一个可访问的本地 AI 应用开发环境,并与他人分享你的成果。

1. Docker部署Dify

本例采用Docker部署,首先设备需要提前安装好Docker 和Docker compos,如没有安装,可以参考docker 官方教程进行安装:Docker 官方安装教程

根据官方部署文档,我们克隆官方的docker 文件进行部署,首先进入到local 目录下,执行cd /usr/local,然后执行下面命令克隆下来

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

等待拉取完成后,可以看到有个dify文件夹,表示成功拉取下来了

Ubuntu系统下的本地LLM应用开发平台Dify本地搭建与远程访问流程23640693

然后我们进入dify文件夹里的docker目录

cd /dify/docker

然后执行docker命令部署运行dify,执行后等待部署完成

sudo docker compose up -d

docker部署运行完成后,我们输入指令sudo docker ps即可看到运行的容器,其中在运行的容器列表可以看到有个nginx的容器,且对外访问的是80端口,这个就是我们外部访问的端口,下面我们进行本地访问测试

Ubuntu系统下的本地LLM应用开发平台Dify本地搭建与远程访问流程24022891

2. 本地访问Dify

上面在docker中成功部署且运行后,接下来进行本地访问,上面我们查看到对外访问端口是80,现在我们在外部或者内部访问ubuntu的80端口,即可看到我们本地部署的Dify服务应用,本地访问表示成功了,首次访问需要创建账号!

Ubuntu系统下的本地LLM应用开发平台Dify本地搭建与远程访问流程24326533

创建后我们即可成功登录到dify了,具体dify使用方法可以参考dify官方文档.本地访问成功后,下面设置远程也可以访问,下面首先安装cpolar内网穿透工具

Ubuntu系统下的本地LLM应用开发平台Dify本地搭建与远程访问流程24451695

3. Ubuntu安装Cpolar

上面在本地Docker中成功部署了Dify服务,并局域网访问成功,下面我们在Linux安装Cpolar内网穿透工具,通过Cpolar 转发本地端口映射的http公网地址,我们可以很容易实现远程访问,而无需自己注册域名购买云服务器.下面是安装cpolar步骤

cpolar官网地址: https://www.cpolar.com

  • 使用一键脚本安装命令
curl -L https://www.cpolar.com/static/downloads/install-release-cpolar.sh | sudo bash
  • 安装完成后,可以通过如下方式来操作cpolar服务,首先执行加入系统服务设置开机启动,然后再启动服务
# 加入系统服务设置开机启动
sudo systemctl enable cpolar

# 启动cpolar服务
sudo systemctl start cpolar

# 重启cpolar服务
sudo systemctl restart cpolar

# 查看cpolar服务状态
sudo systemctl status cpolar

# 停止cpolar服务
sudo systemctl stop cpolar

Cpolar安装和成功启动服务后,内部或外部浏览器上通过局域网IP加9200端口即:【http://192.168.xxx.xxx:9200】访问Cpolar管理界面,使用Cpolar官网注册的账号登录,登录后即可看到cpolar web 配置界面,接下来在web 界面配置即可

image-20240220142041422

4. 配置公网地址

点击左侧仪表盘的隧道管理——创建隧道,创建一个dify的公网http地址隧道!

  • 隧道名称:可自定义命名,注意不要与已有的隧道名称重复
  • 协议:选择http
  • 本地地址:80 (docker部署后对外访问的端口)
  • 域名类型:免费选择随机域名
  • 地区:选择China

点击创建

Ubuntu系统下的本地LLM应用开发平台Dify本地搭建与远程访问流程25057790

隧道创建成功后,点击左侧的状态——在线隧道列表,查看所生成的公网访问地址,有两种访问方式,一种是http 和https,两种都可以访问,下面选择其中一种进行远程访问

Ubuntu系统下的本地LLM应用开发平台Dify本地搭建与远程访问流程25148467

5. 远程访问

使用上面Cpolar生成的 https公网地址,在任意设备的浏览器进行访问,即可成功看到我们dify的界面,极大的缩小了云服务器那些繁琐的配置,简单几步即可实现无需云服务器,无需公网IP实现远程访问.

Ubuntu系统下的本地LLM应用开发平台Dify本地搭建与远程访问流程25353756

小结

为了更好地演示,我们在前述过程中使用了cpolar生成的隧道,其公网地址是随机生成的。

这种随机地址的优势在于建立速度快,可以立即使用。然而,它的缺点是网址由随机字符生成,不太容易记忆(例如:3ad5da5.r10.cpolar.top)。另外,这个地址在24小时内会发生随机变化,更适合于临时使用。

我一般会使用固定二级子域名,原因是我希望将网址发送给同事或客户时,它是一个固定、易记的公网地址(例如:dify.cpolar.cn),这样更显正式,便于流交协作。

6. 固定Cpolar公网地址

由于以上使用cpolar所创建的隧道使用的是随机公网地址,24小时内会随机变化,不利于长期远程访问。因此我们可以为其配置二级子域名,该地址为固定地址,不会随机变化。

注意需要将cpolar套餐升级至基础套餐或以上,且每个套餐对应的带宽不一样。【cpolar.cn已备案】

登录cpolar官网,点击左侧的预留,选择保留二级子域名,设置一个二级子域名名称,点击保留,保留成功后复制保留的二级子域名名称

Ubuntu系统下的本地LLM应用开发平台Dify本地搭建与远程访问流程25524133

保留成功后复制保留成功的二级子域名的名称

Ubuntu系统下的本地LLM应用开发平台Dify本地搭建与远程访问流程25550749

返回登录cpolar web UI管理界面,点击左侧仪表盘的隧道管理——隧道列表,找到所要配置的隧道,点击右侧的编辑

Ubuntu系统下的本地LLM应用开发平台Dify本地搭建与远程访问流程25615192

修改隧道信息,将保留成功的二级子域名配置到隧道中

  • 域名类型:选择二级子域名
  • Sub Domain:填写保留成功的二级子域名

点击更新(注意,点击一次更新即可,不需要重复提交)

Ubuntu系统下的本地LLM应用开发平台Dify本地搭建与远程访问流程25642716

更新完成后,打开在线隧道列表,此时可以看到公网地址已经发生变化,地址二级名称变成了我们自己设置的二级子域名名称

Ubuntu系统下的本地LLM应用开发平台Dify本地搭建与远程访问流程25726835

7. 固定地址访问

最后,我们使用固定的公网https地址访问,可以看到同样访问成功,这样一个固定且永久不变的公网地址就设置好了,随时随地都可以在公网环境远程访问本地dify服务,无需公网IP,无需云服务器!

Ubuntu系统下的本地LLM应用开发平台Dify本地搭建与远程访问流程25808004

最后,我们使用固定的公网https地址访问,可以看到同样访问成功,这样一个固定且永久不变的公网地址就设置好了,随时随地都可以在公网环境远程访问本地dify服务,无需公网IP,无需云服务器!
哈哈,通过以上步骤,你现在已经拥有了一台‘私人定制’的云服务器啦!随时随地都能在公网环境远程访问你的本地Dify服务。再也不用担心没有公网IP的问题了,简直不要太爽!

### 如何在 Ubuntu 系统中安装和配置 Dify #### 1. 更新系统包 为了确保系统的稳定性,在开始之前需要更新 Ubuntu 的软件包列表并升级已有的软件包。运行以下命令完成此操作: ```bash sudo apt update && sudo apt upgrade -y ``` 这一步可以确保基础环境是最新的,从而减少后续可能出现的兼容性问题[^1]。 #### 2. 安装 Docker 和 Docker Compose Dify 基于容器化技术运行,因此需要先安装 Docker 及其管理工具 Docker Compose: ##### (a) 添加官方 GPG 密钥和稳定仓库 执行以下命令来设置 Docker 的 APT 存储库: ```bash curl -fsSL https://get.docker.com -o get-docker.sh sh get-docker.sh ``` ##### (b) 启动并启用 Docker 服务 启动 Docker 并将其设置为开机自启: ```bash sudo systemctl start docker sudo systemctl enable docker ``` ##### (c) 验证 Docker 是否成功安装 通过以下命令验证 Docker 已正确安装: ```bash docker --version ``` 如果显示版本号,则说明安装成功。 ##### (d) 安装 Docker Compose 下载最新版的 Docker Compose 文件到 `/usr/local/bin` 路径下,并赋予可执行权限: ```bash sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose sudo chmod +x /usr/local/bin/docker-compose ``` 最后确认安装是否正常: ```bash docker-compose --version ``` #### 3. 下载和初始化 Dify 访问 Dify 的 GitHub 页面获取最新的发布版本链接,或者直接克隆项目源码至本地目录: ```bash git clone https://github.com/dify-ai/dify.git cd dify ``` #### 4. 修改配置文件 进入项目的根目录后找到 `config.yaml` 或类似的配置模板文件,按照需求调整参数设定。例如指定使用的 LLM 模型类型、端口绑定范围等选项[^2]。 #### 5. 使用 Docker 运行应用 一切就绪之后可以通过下面这条指令一键拉取镜像并启动服务: ```bash docker-compose up -d ``` 该命令会以后台模式运行所有的必要组件实例,包括但不限于数据库、缓存服务器以及 Web API 接口等等。 #### 6. 测试连接 默认情况下,Web UI 将监听主机上的某个特定端口号(比如8000)。打开浏览器输入地址 http://localhost:8000 即可查看前端界面效果;对于远程机器则需替换 localhost 为主机公网 IP 地址。 --- ### 注意事项 - 如果遇到 SELinux 或防火墙阻止流量的情况,请记得开放对应的服务端口。 - 对于生产环境中建议采用 HTTPS 加密传输数据流以保障安全性。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值