用Gradio部署一个基于ChatGLM-6B的应用,发布到团队的服务器上(局域网,公网不能访问),我将gradio应用发布到服务器的9001端口
import gradio as gr
with gr.Blocks() as demo:
......
demo.queue().launch(server_port=9001,share=False, inbrowser=True)#这里只给出错的代码,其余的代码省略
但是通过个人电脑的浏览器访问服务器显示拒绝连接。
import gradio as gr
with gr.Blocks() as demo:
......
demo.queue().launch(server_port=9001,share=True, inbrowser=True)#这里只给出错的代码,其余的代码省略
之后,我又修改了share=True,Gradio返回了一个类似这样的地址,通过这个地址还是访问不到应用,后来查阅资料才发现share=True返回的地址是 Gradio 官网提供的免费公共 URL,可以通过公网访问你本地部署的 Gradio 应用程序。share=True会向 Gradio 服务器注册你的应用程序,并把应用程序的公网 URL 地址返回给你。当你在浏览器中访问该地址时,Gradio 服务器就会通过反向代理的方式将用户的请求转发到你的本地 Gradio 应用程序上。这种实现方式可以使用户在不知道具体本地部署的情况下,通过公共网址轻松地访问 Gradio 应用程序。但是我部署到的团队服务器跟我的电脑是局域网连接起来的,这个服务器外网是访问不到的。
之后我将server_name指定为服务器的地址
应用可以访问。或者把server_name=“0.0.0.0”也可以解决该问题