💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。
- 推荐:kwan 的首页,持续学习,不断总结,共同进步,活到老学到老
- 导航
- 檀越剑指大厂系列:全面总结 java 核心技术,jvm,并发编程 redis,kafka,Spring,微服务等
- 常用开发工具系列:常用的开发工具,IDEA,Mac,Alfred,Git,typora 等
- 数据库系列:详细总结了常用数据库 mysql 技术点,以及工作中遇到的 mysql 问题等
- 新空间代码工作室:提供各种软件服务,承接各种毕业设计,毕业论文等
- 懒人运维系列:总结好用的命令,解放双手不香吗?能用一个命令完成绝不用两个操作
- 数据结构与算法系列:总结数据结构和算法,不同类型针对性训练,提升编程思维,剑指大厂
非常期待和您一起在这个小小的网络世界里共同探索、学习和成长。💝💝💝 ✨✨ 欢迎订阅本专栏 ✨✨
博客目录
- 前言
- 1. Docker 部署 Dify
- 2. 本地访问 Dify
- 3. Ubuntu 安装 Cpolar
- 4. 配置公网地址
- 5. 远程访问
- 6. 固定 Cpolar 公网地址
- 7. 固定地址访问
博客目录
- 前言
- 1. Docker 部署 Dify
- 2. 本地访问 Dify
- 3. Ubuntu 安装 Cpolar
- 4. 配置公网地址
- 5. 远程访问
- 6. 固定 Cpolar 公网地址
- 7. 固定地址访问
前言
本文主要介绍如何在 Linux Ubuntu 系统使用 Docker 快速部署大语言模型应用开发平台 Dify,并结合 cpolar 内网穿透工具实现公网环境远程访问本地 Dify 服务!
Dify 是一款开源的大语言模型(LLM) 应用开发平台。它融合了后端即服务(Backend as Service)和 LLMOps 的理念,使开发者可以快速搭建生产级的生成式 AI 应用。即使你是非技术人员,也能参与到 AI 应用的定义和数据运营过程中。
Dify 是开源的,且支持自部署到本地自己服务器上,打造自己的 AI 系统应用,由于本地部署后,本地部署限制只能在本地访问,无法实现共享给他人访问,或者自己远程访问,这个时候,要么需要自己有云服务器,或者公网 IP,否则无法进行远程访问,但是,如果既没有云服务器和公网 IP,我们也想要实现远程访问呢,那么下面介绍一个内网穿透工具,让我们无公网 IP 无云服务器也可以实现远程访问本地 Dify.
本例采用 Docker 部署,首先设备需要提前安装好 Docker 和 Docker compos,如没有安装,可以参考 docker 官方教程进行安装:Docker 官方安装教程
1. Docker 部署 Dify
根据官方部署文档,我们克隆官方的 docker 文件进行部署,首先进入到 local 目录下,执行cd /usr/local
,然后执行下面命令克隆下来
sudo git clone https://github.com/langgenius/dify.git
等待拉取完成后,可以看到有个 dify 文件夹,表示成功拉取下来了
然后我们进入 dify 文件夹里的 docker 目录
cd /dify/docker
然后执行 docker 命令部署运行 dify,执行后等待部署完成
sudo docker compose up -d
docker 部署运行完成后,我们输入指令sudo docker ps
即可看到运行的容器,其中在运行的容器列表可以看到有个 nginx 的容器,且对外访问的是 80 端口,这个就是我们外部访问的端口,下面我们进行本地访问测试
2. 本地访问 Dify
上面在 docker 中成功部署且运行后,接下来进行本地访问,上面我们查看到对外访问端口是 80,现在我们在外部或者内部访问 ubuntu 的 80 端口,即可看到我们本地部署的 Dify 服务应用,本地访问表示成功了,首次访问需要创建账号!
创建后我们即可成功登录到 dify 了,具体 dify 使用方法可以参考 dify 官方文档.本地访问成功后,下面设置远程也可以访问,下面首先安装 cpolar 内网穿透工具
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 界面配置即可
4. 配置公网地址
点击左侧仪表盘的隧道管理——创建隧道,创建一个 dify 的公网 http 地址隧道!
- 隧道名称:可自定义命名,注意不要与已有的隧道名称重复
- 协议:选择 http
- 本地地址:80 (docker 部署后对外访问的端口)
- 域名类型:免费选择随机域名
- 地区:选择 China
点击创建
隧道创建成功后,点击左侧的状态——在线隧道列表,查看所生成的公网访问地址,有两种访问方式,一种是 http 和 https,两种都可以访问,下面选择其中一种进行远程访问
5. 远程访问
使用上面 Cpolar 生成的 https 公网地址,在任意设备的浏览器进行访问,即可成功看到我们 dify 的界面,极大的缩小了云服务器那些繁琐的配置,简单几步即可实现无需云服务器,无需公网 IP 实现远程访问.
小结
为了更好地演示,我们在前述过程中使用了 cpolar 生成的隧道,其公网地址是随机生成的。
这种随机地址的优势在于建立速度快,可以立即使用。然而,它的缺点是网址由随机字符生成,不太容易记忆(例如:3ad5da5.r10.cpolar.top)。另外,这个地址在 24 小时内会发生随机变化,更适合于临时使用。
我一般会使用固定二级子域名,原因是我希望将网址发送给同事或客户时,它是一个固定、易记的公网地址(例如:dify.cpolar.cn),这样更显正式,便于流交协作。
6. 固定 Cpolar 公网地址
由于以上使用 cpolar 所创建的隧道使用的是随机公网地址,24 小时内会随机变化,不利于长期远程访问。因此我们可以为其配置二级子域名,该地址为固定地址,不会随机变化【ps:cpolar.cn 已备案】
注意需要将 cpolar 套餐升级至基础套餐或以上,且每个套餐对应的带宽不一样。【cpolar.cn 已备案】
登录 cpolar 官网,点击左侧的预留,选择保留二级子域名,设置一个二级子域名名称,点击保留,保留成功后复制保留的二级子域名名称
保留成功后复制保留成功的二级子域名的名称
返回登录 cpolar web UI 管理界面,点击左侧仪表盘的隧道管理——隧道列表,找到所要配置的隧道,点击右侧的编辑
修改隧道信息,将保留成功的二级子域名配置到隧道中
- 域名类型:选择二级子域名
- Sub Domain:填写保留成功的二级子域名
点击更新
(注意,点击一次更新即可,不需要重复提交)
更新完成后,打开在线隧道列表,此时可以看到公网地址已经发生变化,地址二级名称变成了我们自己设置的二级子域名名称
7. 固定地址访问
最后,我们使用固定的公网 https 地址访问,可以看到同样访问成功,这样一个固定且永久不变的公网地址就设置好了,随时随地都可以在公网环境远程访问本地 dify 服务,无需公网 IP,无需云服务器!
觉得有用的话点个赞
👍🏻
呗。
❤️❤️❤️本人水平有限,如有纰漏,欢迎各位大佬评论批评指正!😄😄😄💘💘💘如果觉得这篇文对你有帮助的话,也请给个点赞、收藏下吧,非常感谢!👍 👍 👍
🔥🔥🔥Stay Hungry Stay Foolish 道阻且长,行则将至,让我们一起加油吧!🌙🌙🌙