網上有很多關於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://github.com/inconshreveable/ngrok
2.使用ngrok
在這里注冊賬號,https://www.ngrok.cc/login
注冊成功:進入主頁
點擊隧道管理-->開啟隧道:
點擊原價0元,立即購買(每一個QQ號注冊的只有一次0元購買機會)
點擊確定
填寫你想要的的域名(免費贈送的一個域名)填寫你要映射的端口,這個端口一定要記住,而且你的這個端口沒有被占用;還有就是需要記住http驗證的用戶名和密碼;填好之后就點擊確定添加
然后點擊隧道管理:
- 記住隧道id(一定要記住后續端口映射需要);
- 隧道協議;
- 本地端口等。
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) 則這個端口只能被本機訪問