win10上的Django項目實現內網映射


網上有很多關於django項目發布uwsgi模塊在 windows上的下載以及安裝過程,

可是他們也並沒有真正的在windows上使用到這個模塊(至少目前在網上還沒看到過),

而大部分人就是在Django自帶的服務器上實現本地局域網內的各個終端去訪問這個網站

過程如下:

1.在項目settings.py中去配置

  DEBUG = True

  # ALLOWED_HOSTS = ['*']

  ALLOWED_HOSTS = ['IP']  # IP 自己電腦的ipv4

如何查看自己的ip ?

  鍵盤同時按住(win+r)輸入:cmd

  進入命令提示符界面:輸入ipconfig 回車

  IPv4 地址 . . . . . . . . . . . . : IP

2.然后運行Django自帶的服務器:

命令:python manage.py runserver IP:8000(或者80)

 

然后用瀏覽器可以進行訪問,並在在本機所在局域網內的所有終端都可以訪問這個網站

PC端的火狐瀏覽器可以訪問

 

移動端的手機也可以訪問

 

注意:以上都只能夠在本地局域網內進行

有沒有一種方式可以讓我們開發java web項目那樣實現真正的內網穿透(端口映射)呢??

回答是:有!我們完全可以用java web開發中的內網穿透工具和Django自帶的服務器之間實現端口映射!!!

具體過程如下:

因為內網穿透的工具比較多,對於我們學生而言免費又好用的ngrok是比較好的選擇

ngrok是一個反向代理,通過在公共的端點和本地運行的Web服務器之間建立一個安全的通道。ngrok可捕獲和分析所有通道上的流量,便於后期分析與響應。

開源免費

官網:https://ngrok.com/

源碼:https://github.com/inconshreveable/ngrok

2.使用ngrok

在這里注冊賬號,https://www.ngrok.cc/login

注冊成功:進入主頁

點擊隧道管理-->開啟隧道:

 

點擊原價0元,立即購買(每一個QQ號注冊的只有一次0元購買機會)

 

點擊確定

 

填寫你想要的的域名(免費贈送的一個域名)填寫你要映射的端口,這個端口一定要記住,而且你的這個端口沒有被占用;還有就是需要記住http驗證的用戶名和密碼;填好之后就點擊確定添加

 

然后點擊隧道管理:

  1. 記住隧道id(一定要記住后續端口映射需要);
  2. 隧道協議;
  3. 本地端口等。

 

3.ngrok本地客戶端的使用

下載地址https://www.ngrok.cc/download.html

選擇你所需要的版本下載即可。

 

 下載完成之后解壓縮即可使用

 

點擊箭頭所指的bat文件,輸入第二步的隧道ID,回車即可。

  

開啟成功

 

成功開啟之后,我們可以看到有域名指向了我們本地的服務器

內網穿透工具我們已經准備就緒:

現在我們需要配置Django項目中的settings.py文件

DEBUG一定要等於TRUE

 

然后我們啟動Django自帶的服務器:(可能你會有疑問,為啥不是:python manage.py runserver 127.0.0.1:80這個命令,后面有說明,請看說明! )

 

此時我們的后端已近都准備好了,我們需要在瀏覽器中輸入127.0.0.1:80所對應的域名就可以從外網訪問到我們的網站了:

 

使用所給域名來訪問這個網站,但是剛開始訪問的會有個http驗證,這時就需要開通隧道時的http驗證用戶名和密碼了,輸入之后就可以訪問這個網站了!

 

注意:

listen(127.0.0.1:80) 與 listen(0.0.0.0:80)的區別

127.0.0.1 環回測試地址,代表本機IP地址,訪問127.0.0.1:80表示本機的80號端口,且僅表示內網訪問

0.0.0.0 網絡地址,0.0.0.0:80也表示本機IP地址,以外網的方式訪問

這兩種表示法用以對計算機端口進行權限設置

如果listen(0.0.0.0:XX),則這個可以被外部網絡訪問

而 listen(127.0.0.1:XX) 則這個端口只能被本機訪問

 


免責聲明!

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



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