【计算机网络】解决gradio无法发布share link(public URL)或者发布的local url(http://127.0.0.1:7860)无法访问的问题

问题1:Could not create share link. Missing file: /work/Users/zhuzhiwei/anaconda3/envs/meshAnything/lib/python3.10/site-packages/gradio/frpc_linux_amd64_v0.3

这是说无法创建在公域网上的可分享的网址(public URL),也给了解决办法,但有两点小坑需要注意。

问题溯源

  1. 坑1:国内无法访问huggingface.co网址,无法下载frpc_linux_amd64_v0.3
  2. 坑2:即使下载完frpc_linux_amd64_v0.3后还是报错Could not create share link. Please check your internet connection or our status page: https://status.gradio.app.
    在这里插入图片描述

解决办法:

  • 从镜像网址下载frpc_linux_amd64,将huggingface.co替换为hf-mirror.com,即:https://cdn-media.hf-mirror.com/frpc-gradio-0.3/frpc_linux_amd64
  • 给frpc_linux_amd64可执行权限:chmod +x frpc_linux_amd64_v0.3

问题2:http://127.0.0.1:7860无法访问

问题1解决后,就已经能成功发布网址了。下面那个public URL直接可以访问。
如果你就是在本地电脑部署的代码,那么恭喜你,http://127.0.0.1:7860也是能访问的,
在这里插入图片描述
但是如果你是在服务器上(假设服务器IP是xx.xx.xx.xxx)部署的代码,直接在本地电脑上访问http://127.0.0.1:7860或者http://xx.xx.xx.xx:7860都打不开。

问题溯源

这就需要搞清楚127.0.0.1这个IP的特性了,127.0.0.1 是一个回环地址,该地址指电脑本身,主要预留测试本机的TCP/IP协议是否正常。只要使用这个地址发送数据,则数据包不会出现在网络传输过程中。因此127.0.0.1这个地址无法在本机外访问。

0.0.0.0才是真正表示“本网络中的本机”。
在实际应用中,一般我们在服务端绑定端口的时候可以选择绑定到0.0.0.0,这样我的服务访问方就可以通过我的多个ip地址访问我的服务。
比如我有一台服务器,一个外网地址A,一个内网地址B,如果我绑定的端口指定了0.0.0.0,那么通过内网地址或外网地址都可以访问我的应用。但是如果我之绑定了内网地址,那么通过外网地址就不能访问。 所以如果绑定0.0.0.0,也有一定安全隐患,对于只需要内网访问的服务,可以只绑定内网地址。

参考文章:【计算机网络】localhost,127.0.0.1 和 0.0.0.0傻傻分不清?这篇文章带你认识

解决办法

代码中找到这一函数demo.launch,将其改为demo.launch(server_name='0.0.0.0',share=True)

demo.launch 函数至少支持以下形参:
server_name: 用于指定服务器绑定的地址,可以设置为 ‘0.0.0.0’ 以允许通过多个IP地址访问本机服务。
share: 用于指定是否创建一个可在公网上分享的网址(public URL)。
除了这些,Gradio的launch函数还支持其他的参数,例如:
server_port: 用于指定服务器监听的端口号。
share: 用于指定是否通过Gradio的服务器来托管应用,使得应用可以被分享。
server: 用于指定服务器类型,比如’gradio’或’flask’。
server_command: 用于指定启动服务器的命令。
prevent_thread_lock: 用于防止线程锁,允许并发执行。
api: 用于创建一个API接口。
enable_queue: 用于启用队列系统,以便在高并发时管理请求。
queue_max_size: 用于设置队列的最大大小。
queue_timeout: 用于设置队列超时时间。
debug: 用于开启调试模式。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

繁星知微

能帮助到你是我最大的荣幸

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值