用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”也可以解決該問題