個人網(wǎng)頁-從Flask服務器入門-第一章:第一個聯(lián)網(wǎng)網(wǎng)頁 [ 自用 ]
個人網(wǎng)頁-從Flask服務器入門 [ 自用 ]
提要:
????希望通過回顧總結的方式熟記所學的經(jīng)驗與運用, 全程模擬從零到一的實際過程.
疊甲:
????文章內(nèi)容需根據(jù)自身認識接受, 可能有誤處請甄別或提醒謝謝.
????全文無圖因為已經(jīng)很具體了(問就是懶, 或者會出視頻).
章節(jié):
第一章: 第一個聯(lián)網(wǎng)網(wǎng)頁
提要:
1.?涉及工具:
????本文用到PC系統(tǒng)為Win10, ?IDE為Visual Studio, 域名軟件-萬可維快解析.
2.?步驟:
????這章從搭建Flask開發(fā)環(huán)境, 然后編寫最小的啟動程序Hello World, 最后通過端口轉(zhuǎn)發(fā)與域名解析完成一個所有人可以訪問的互聯(lián)網(wǎng)頁.
3.?名詞解釋:
????(1)?搭建環(huán)境: 即準備開發(fā)所需工具
????(2)?啟動腳本: 即程序以這里作為入口啟動; 腳本就是代碼文件, 在不同(編程)語言中有不同的叫法, 也可以叫類...
????(3)?端口轉(zhuǎn)發(fā): 將局域網(wǎng)映射到廣域互聯(lián)網(wǎng)的操作
????(4)?域名解析: 將數(shù)字ip變?yōu)橛⑽拇甶p更具標志性更易記憶.
1.?搭建Flask開發(fā)環(huán)境
本節(jié)內(nèi)容提要: 1. 使用Visual Studio并建立你的收藏庫 VS ?2. 安裝Python支持并創(chuàng)建工作空間目錄 ?3. 環(huán)境變量與安裝Flask包
?
1.?使用Visual Studio并建立你的收藏庫
敘述:
????要進行Flask開發(fā), 你需要Python運行庫, Flask運行包 以及一款代碼編輯器.
????搭建環(huán)境就是下載所有用到的工具, 雖然可以手動下載每一個工具包, 但通常使用更便捷的方式--這里選擇Visual Studio作為代碼編輯器, 方便的在其中直接配置好相關項.
步驟:
????首先打開瀏覽器, 鍵入learn.microsoft.com, 然后右邊搜索 ”Visual Studio文檔”?在結果中點擊進入, 這是Visual Studio百科大全頁面, 請為Visual Studio建立收藏夾并收藏這個網(wǎng)頁, 所有VS相關的問題都可以在這里找到.
????然后點擊右邊的下載Visual Studio.通常個人開發(fā)者會選擇免費Community, 點擊免費下載按鈕即可.
?
2.?安裝Python支持并創(chuàng)建工作空間目錄
????完成后打開你就來到VS Installer他的作用就和UnityHub差不多(如果你知道這個的話). 選擇一個版本下載, 靜等完成即可, 根據(jù)網(wǎng)絡會持續(xù)幾到十幾分鐘.
????然后來到修改頁面, 選擇Python開發(fā)然后再次安裝.(將你安裝的Python的目錄記在一旁備用).
????等待完成后點擊啟動就可以創(chuàng)建Python應用了, 點擊右側創(chuàng)建新項目, 創(chuàng)建一個命令行應用.并創(chuàng)建你的工作空間目錄將其存放.
?
3.?環(huán)境變量(可選的)與安裝Flask包
提要: 1. 環(huán)境變量 ?2. 虛擬環(huán)境 ?3. 安裝flask
?
1.?環(huán)境變量(可選的)
????要使用命令行方便的操控Python就需要添加環(huán)境變量使其全局可用而不是僅限于VS.
????右鍵我的電腦屬性并進入高級系統(tǒng)設置, 點擊右下方的環(huán)境變量, 選擇用戶變量或系統(tǒng)變量(個人通常選擇系統(tǒng)保證全局可用)中的Path然后點擊編輯, 在最下方新建并粘貼上剛才記下的Python目錄, 兩個目錄通常是”..\Shared\Pythonxxx”和”..\Shared\Pythonxxx\Scripts”. 完成后確定關閉即可.
????此時快捷鍵Win+R打開運行, 輸入cmd打開命令窗口并鍵入python --version. 如果出現(xiàn)版本號則說明環(huán)境變量設置成功, python --help可以看到相關功能指令; 否則出現(xiàn)xx不是可用xxx則失敗, 可以檢查一下環(huán)境目錄輸入有誤還是其他原因.
?
2.?虛擬環(huán)境
????成功后啟動VS, win10可以通過任務欄的搜索直接搜索visu就會出現(xiàn)聯(lián)想, 打開即可, 從最近內(nèi)容選到剛才的項目.
????要使用Flask需要修改Python添加Flask包, 如果不希望Python因為不斷添加的包變得臃腫最好copy一個虛擬環(huán)境.
????在VS中, 上方綠色啟動按鈕右側, 點擊選擇添加虛擬環(huán)境, 選項默認即可, 點擊創(chuàng)建完成添加.
?
3.?Flask安裝
????點擊右邊的管理包按鈕, 在窗口中搜索flask點擊安裝, 下方輸出窗口顯示success即為成功.
????到此就已經(jīng)成功完成了所有的前置準備, 接下來進入編寫代碼.
2.?編寫啟動腳本Hello World
提要: 1. 必須的部分 ?2. 編寫代碼 ?3. 訪問網(wǎng)頁
?
1.?必須的部分
要啟動一個flask服務器需要兩點:
????一是提供用于顯示的返回字符串.
????二是調(diào)用啟動函數(shù)啟動服務器即可.
????額外的: 一般便于使用會將flask賦值為一個變量app來使用.
?
2.?編寫代碼
提要: 1. 語法結構 2. 具體代碼
?
1.?語法結構: (有Python基礎的可以略過)
????每種編程語言都有不同的語法結構用于根據(jù)標準書寫代碼, 但是大同小異, 通常掌握兩三門語法就可以觸類旁通.
????具體可以去到 [ https://www.runoob.com/python3/python3-basic-syntax.html ] 查閱, 在此展開說明三天三夜也說不完.
?
2.?具體代碼:
????所以通常一個最簡短的完整Flask程序像這樣:
????完成編寫后, 點擊上方調(diào)試選項中的開始調(diào)試或者開始執(zhí)行運行程序.
????cmd窗口顯示服務器運行在127.0.0.1的5000端口.
?
3.?訪問網(wǎng)頁
????打開瀏覽器, 鍵入127.0.0.1:5000或者localhost:5000即可看到HelloWorld顯示. (localhost指向本地ip回環(huán)地址, 即同等與127.0.0.1)
3.?端口轉(zhuǎn)發(fā)與域名解析
內(nèi)容提要:
1. 局域網(wǎng)運行 ?2. 端口轉(zhuǎn)發(fā) ?3. 域名解析(可選的)
?
1.?局域網(wǎng)運行
提要:
????現(xiàn)在的網(wǎng)頁只有本機可以訪問, 要在局域網(wǎng)訪問只需要修改運行ip為局域網(wǎng)ip即可.
????那么首先需要知道自己的局域網(wǎng)ip, 這里用最常用的頁面查看.
查看局域ip:
????Win+i打開設置, 點擊網(wǎng)絡和Internet設置, 點擊網(wǎng)絡和共享中心.
????從活動網(wǎng)絡中看到連接, 點擊進入(這個窗口經(jīng)常用到),
????點擊詳細信息: 其中的ipV4地址即為局域網(wǎng)ip.
????這里還可以看到mac物理地址和默認網(wǎng)關.之后會用到.
第二種查看方式:
????WinR加cmd打開命令行輸入ipconfig /all, 也可以清楚地看到局域ip和mac物理地址
修改:
????app.run()可以寫為app.run(ip, host)的方式, 也就是app.run(‘192.168.xx.xx’, 5000)
?
2.?靜態(tài)地址與端口轉(zhuǎn)發(fā)
1.?靜態(tài)地址
????如果不希望2h重新輸一次局域ip, 那最好設置靜態(tài)ip分配以固定這臺設備的局域ip.
????在瀏覽器鍵入網(wǎng)關ip, 可以去路由器上找到信息, 輸入賬號密碼, TP-LINK通常賬號密碼都是admin.
????進入后首先找到靜態(tài)地址分配, 輸入之前的mac和ip并保存重啟以生效(重啟會斷網(wǎng)一下).
2.?端口轉(zhuǎn)發(fā)
????找到轉(zhuǎn)發(fā)規(guī)則的虛擬服務器: 可以看到每一條三個選項: 端口, ip, 和協(xié)議.
????直接輸入80端口, 你的局域ip, 協(xié)議選all就可以(沒有就選TCP).
# 額外介紹:
????80端口是網(wǎng)頁常用端口, 在80端口運行的網(wǎng)頁訪問時可以省略:80這個參數(shù).
????TCP是雙向連接協(xié)議, 網(wǎng)頁默認用這個: 可靠性好但速度不如UDP. UDP是無連接協(xié)議, 速度快但是會丟包, 視頻跳幀就是這個原因, 游戲也通常用UDP.
3.?檢測成功
????有些路由(比如MIWIFI)會出現(xiàn)設置了但無效, 這可能不是你的操作有誤而是路由不支持, 所以最好檢測一下.
????Win+R加control打開控制面板, 選擇程序, 找到開啟或關閉windows功能, 從列表中找到Telnet并勾選.
????此時開啟之前的flask服務器, 打開cmd命令行輸入 ”telnet 局域ip 端口”?查詢轉(zhuǎn)發(fā)是否成功.
黑窗清屏即為成功, 否則一直正在連接然后顯示失敗就說明轉(zhuǎn)發(fā)不成功.
4.?分享網(wǎng)頁
????轉(zhuǎn)發(fā)成功后, 百度ip并點擊第一個網(wǎng)頁, 或者直接瀏覽器鍵入ip138.com會顯示你的廣域網(wǎng)(外網(wǎng))ip.
????保持服務器開啟, 然后通過另一個網(wǎng)絡訪問, 即使用手機數(shù)據(jù)或分享給小伙伴打開即可看到你的Hello World網(wǎng)頁.
# 額外說明
????這樣的網(wǎng)頁只適合個人開發(fā)與測試使用, 沒有進行域名注冊與工商備案等, 可以稱之為小黑網(wǎng)(開個玩笑).
?
3.?域名解析(可選的)
????完成以上步驟后網(wǎng)站就可以從局域網(wǎng)站變?yōu)榛ヂ?lián)網(wǎng)站了, 但是這樣的數(shù)字ip不常見不好記也很簡陋, 域名解析可以將數(shù)字ip變?yōu)橐淮⑽木W(wǎng)址會更有辨識度, 所以使用一款域名解析軟件來裝飾好看的域名吧.
????這里我使用有免費版的快解析: 瀏覽器鍵入kuaijiexi.com就是快解析的拼音, 直接點擊免費下載.
????完成后打開并安裝到你的工作空間目錄吧(通常除了極為主要的應用都不會放入C盤, 因為只要C盤滿了電腦就卡死不動了).
????完成安裝后打開并簡單的注冊登錄, 然后選擇上方的添加映射, 點擊添加: 填入端口與局域ip后點擊確定, 軟件會自動完成域名綁定.
????選到你的映射, 點擊檢測, 檢測成功后(要保持flask開啟才能檢測到) 就表示可以通過這個英文ip直接訪問網(wǎng)站啦.
????至此第一個聯(lián)網(wǎng)網(wǎng)頁就到這里完成了.