在Ubuntu虛擬機中,可通過幾行代碼搭建一個非常簡單的flask web服務。
from flask import Flask
app=Flask(__name__)
@app.route('/')
def index():
return 'hello world'
if __name__=="__main__":
app.run(debug=True)運行代碼後,打開Ubuntu中瀏覽器訪問127.0.0.1:5000即可正常顯示hello world,但如果在Win10中使用瀏覽器訪問對應地址則無法顯示。
先說明下為什麼有在主機Win10直接訪問虛擬機Ubuntu埠數據的需求。比如,個人傾向於在Ubuntu環境中開發API介面,但是一些客戶端開發(比如微信小程序)只能在Win10或者OSX中進行。如果不能直接訪問,只能在Win10中再搭建一套Python開發環境,這樣會很繁瑣。
接下來說下解決方案。
第一步:
修改最後一行代碼為
app.run(host='0.0.0.0',debug=True) 或者 app.run(host='10.0.2.15',debug=True)這裡host可以改成0.0.0.0(表示在區域網的任意IP上)或者10.0.2.15(在Ubuntu中通過ifconfig命令查看對應IP)
第二步:
按下圖配置VirtualBox中的網路埠轉發

VirtualBox中點擊網路,然後在點擊埠轉發

注意紅框中的IP也可以不填寫,為空則默認為0.0.0.0;埠均填寫5000
這樣修改後即可在Win10中正常訪問了。
需要注意的是,如果沒有第一步修改host,第二步無論怎麼設置都不會成功,比如兩個IP都設置成127.0.0.1或者0.0.0.0。由於網路知識有限,具體原因不太清楚,如果有朋友知道不修改host直接通過VB的埠轉發即能成功,歡迎評論,感謝!
原創文章,作者:投稿專員,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/278042.html
微信掃一掃
支付寶掃一掃