主機無法訪問虛擬機中運行的Django項目


在虛擬機中的linux上運行了Django項目,虛擬機中可以訪問,但外部主機無法訪問(連接超時),但主機能ping同虛擬機,虛擬機也能ping通主機

需檢查三個地方:(后面發現虛擬機的ip地址存在改變的情況,可能是由於主機網絡是通過wifi連接的,所以地址經常變,虛擬機ip地址變更后,未改變下面的第二步的設置,主機依舊可以訪問虛擬機的django網站,所以第二步並不是必須的步驟)

1.運行Django的命令,要寫成: python3 manage.py runserver 0.0.0.0:8000 ,重點就是這個0.0.0.0,這樣才能讓外部訪問到

2.VM軟件的虛擬機網絡配置

主機端口:  主機瀏覽器訪問Django的端口,默認為8000(可自行修改)

虛擬機IP地址:  在虛擬機中輸入ifconfig命令獲取

虛擬機端口:  xshell工具連接虛擬機所用的端口

3.防火牆(不只是主機的防火牆,虛擬的防火牆一樣要關掉,如果前面兩步都設置好了那基本就是防火牆的問題)

systemctl stop firewalld.service(關閉防火牆,重啟后無效)

systemctl disable firewalld.service(關閉防火牆,永久有效)

4.在Django的setting.py文件中修改一下 ALLOWED_HOSTS,ip為虛擬機的ipv4地址

 最后,在主機瀏覽器運行網址

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM