【Linux上部署Dify】从本地到云端:在Linux上部署Dify并实现公网访问的流程 ...

打印 上一主题 下一主题

主题 831|帖子 831|积分 2493

前言

本文将介绍怎样在Linux Ubuntu系统上使用Docker快速部署大语言模型应用开辟平台Dify,并结合cpolar内网穿透工具实现对本地Dify服务的公网远程访问。
Dify是一款开源的大语言模型(LLM)应用开辟平台,结合了后端即服务(Backend as a Service)和LLMOps的理念,使开辟者可以或许迅速构建生产级的生成式AI应用。即使好坏技能人员,也能加入到AI应用的定义和数据运营中。
Dify支持开源并可自部署到本地服务器,帮助用户打造本身的AI系统应用。然而,进行本地部署后,服务仅限于本地访问,无法与他人共享或进行远程访问。在这种情况下,用户通常须要云服务器或公网IP来实现远程访问。假如没有这些条件,我们可以借助内网穿透工具来解决这个标题,从而在没有公网IP和云服务器的情况下实现对本地Dify的远程访问。
本示例将采用Docker进行部署,首先须要确保设备上已安装Docker和Docker Compose。假如尚未安装,可以参考Docker的官方安装教程进行设置ocker 安装教程
1. Docker部署Dify

根据官方部署文档,我们克隆官方的docker 文件进行部署,首先进入到local 目次下,执行cd /usr/local,然后执行下面命令克隆下来
  1. sudo git clone https://github.com/langgenius/dify.git
复制代码
等待拉取完成后,可以看到有个dify文件夹,表现成功拉取下来了

然后我们进入dify文件夹里的docker目次
  1. cd /dify/docker
复制代码
然后执行docker命令部署运行dify,执行后等待部署完成
  1. 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
  

  • 使用一键脚本安装命令
  1. curl -L https://www.cpolar.com/static/downloads/install-release-cpolar.sh | sudo bash
复制代码


  • 安装完成后,可以通过如下方式来操纵cpolar服务,首先执行加入系统服务设置开机启动,然后再启动服务
  1. # 加入系统服务设置开机启动
  2. sudo systemctl enable cpolar
  3. # 启动cpolar服务
  4. sudo systemctl start cpolar
  5. # 重启cpolar服务
  6. sudo systemctl restart cpolar
  7. # 查看cpolar服务状态
  8. sudo systemctl status cpolar
  9. # 停止cpolar服务
  10. 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小时内会随机变化,倒霉于长期远程访问。因此我们可以为其设置二级子域名,该地址为固定地址,不会随机变化。
   注意须要将cpolar套餐升级至底子套餐或以上,且每个套餐对应的带宽不一样。【cpolar.cn已备案】
  登录cpolar官网,点击左侧的预留,选择保留二级子域名,设置一个二级子域名名称,点击保留,保留成功后复制保留的二级子域名名称

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

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

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


  • 域名类型:选择二级子域名
  • Sub Domain:填写保留成功的二级子域名
点击更新(注意,点击一次更新即可,不须要重复提交)

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

7. 固定地址访问

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


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

徐锦洪

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表