內網穿透的應用-如何在本地安裝Flask,以及將其web界面發布到公網上并進行遠程訪問

輕量級web開發框架:Flask本地部署及實現公網訪問界面

文章目錄

  • 輕量級web開發框架:Flask本地部署及實現公網訪問界面
    • 前言
    • 1. 安裝部署Flask
    • 2. 安裝Cpolar內網穿透
    • 3. 配置Flask的web界面公網訪問地址
    • 4. 公網遠程訪問Flask的web界面

前言

本篇文章講解如何在本地安裝Flask,以及如何將其web界面發布到公網上并進行遠程訪問。

Flask是目前十分流行的web框架,采用Python編程語言來實現相關功能。較其他同類型框架更為靈活、輕便、安全且容易上手。它可以很好地結合MVC模式進行開發,開發人員分工合作,小型團隊在短時間內就可以完成功能豐富的中小型網站或Web服務的實現。

另外,Flask還有很強的定制性,用戶可以根據自己的需求來添加相應的功能,在保持核心功能簡單的同時實現功能的豐富與擴展,其強大的插件庫可以讓用戶實現個性化的網站定制,開發出功能強大的網站。

1. 安裝部署Flask

本篇文章代碼使用 Python3 運行

安裝環境:需要在電腦上安裝 Python3 和 pip3。建議安裝最新版本

檢查是否有安裝了pip的可用Python,查看Python和pip版本:

C:> py --version
Python 3.N.N
C:> py -m pip --version
pip X.Y.Z from ... (python 3.N.N)

使用pip安裝和更新:

$ pip install -U Flask

在VS Code里 FLASK下新建一個文件,名字為 app.py

粘貼下面命令,并保存

# save this as app.py
from flask import Flaskapp = Flask(__name__)@app.route("/")
def hello():return "Hello, World!"

image-20231120164830537

在下方TERMINAL里輸入ls查看目錄位置

image-20231120165319864

打開一個新的命令

輸入cd空格加上剛才vs code的目錄,例如

cd C:\Users\wang\dev\python\flask

輸入ls查看目錄

image-20231120165938767

啟動Flask

flask run

打開一個新的瀏覽器,輸入http://127.0.0.1:5000/,進入到 HelloWorld的web界面。

image-20231120170348720

2. 安裝Cpolar內網穿透

上面在本地成功部署了Flask,并局域網訪問成功,下面我們安裝Cpolar內網穿透工具,通過cpolar 轉發本地端口映射的http公網地址,我們可以很容易實現遠程訪問,而無需自己注冊域名購買云服務器.下面是安裝步驟:

cpolar官網地址: https://www.cpolar.com

  • 使用一鍵腳本安裝命令
curl -L https://www.cpolar.com/static/downloads/install-release-cpolar.sh | sudo bash
  • 向系統添加服務
sudo systemctl enable cpolar
  • 啟動cpolar服務
sudo systemctl start cpolar

cpolar安裝成功后,在外部瀏覽器上訪問9200端口 即:【http://局域網ip:9200】,使用cpolar賬號登錄(如沒有賬號,可以點擊下面免費注冊),登錄后即可看到cpolar web 配置界面,結下來在web 管理界面配置即可

image-20230831171159175

3. 配置Flask的web界面公網訪問地址

點擊左側儀表盤的隧道管理——創建隧道,創建一個Flask的cpolar公網地址隧道:

  • 隧道名稱:可自定義命名,注意不要與已有的隧道名稱重復
  • 協議:選擇http
  • 本地地址:5000 (局域網訪問的端口)
  • 域名類型:免費選擇隨機域名
  • 地區:選擇China Top
  • 點擊創建

image-20231120171035750

隧道創建成功后,點擊左側的狀態——在線隧道列表,查看所生成的公網訪問地址,有兩種訪問方式,一種是http 和https

image-20231120171152780

4. 公網遠程訪問Flask的web界面

使用上面的cpolar https公網地址在任意設備的瀏覽器訪問,即可成功看到Flask的web界面,這樣一個公網地址且可以遠程訪問就創建好了,無需自己購買云服務器,即可發布到公網訪問。

image-20231120171325137

由于以上使用cpolar所創建的隧道使用的是隨機公網地址,24小時內會隨機變化,不利于長期遠程訪問。

我一般會使用固定二級子域名,因為我希望將網址發送給開發人員分工合作,小型團隊在短時間內就可以使用固定的公網地址完成功能豐富的中小型網站或Web服務的實現。它是一個固定、易記的公網地址(例如:Flask.cpolar.cn)因此我們可以為其配置二級子域名,該地址為固定地址,不會隨機變化【ps:cpolar.cn已備案】

注意需要將cpolar套餐升級至基礎套餐或以上,且每個套餐對應的帶寬不一樣。【cpolar.cn已備案】

登錄cpolar官網,點擊左側的預留,選擇保留二級子域名,設置一個二級子域名名稱,點擊保留,保留成功后復制保留的二級子域名名稱

image-20231120171616938

保留成功后復制保留成功的二級子域名的名稱

image-20231120171639329

返回登錄cpolar web UI管理界面,點擊左側儀表盤的隧道管理——隧道列表,找到所要配置的隧道,點擊右側的編輯

image-20231120171707486

修改隧道信息,將保留成功的二級子域名配置到隧道中

  • 域名類型:選擇二級子域名
  • Sub Domain:填寫保留成功的二級子域名

點擊更新(注意,點擊一次更新即可,不需要重復提交)

image-20231120171747421

更新完成后,打開在線隧道列表,此時可以看到公網地址已經發生變化,地址名稱也變成了固定的二級子域名名稱的域名

image-20231120174238360

最后,我們使用固定的公網地址訪問,可以看到訪問成功,這樣一個固定且永久不變的公網地址就設置好了。

image-20231120174301657

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/165537.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/165537.shtml
英文地址,請注明出處:http://en.pswp.cn/news/165537.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

linux環境下samba服務器的配置

linux服務器怎么創建用戶 在Linux服務器上,可以使用以下步驟創建用戶: 使用adduser命令創建新用戶: sudo adduser username將 username 替換為你要創建的用戶名。這個命令會提示你輸入新用戶的密碼以及其他相關信息。 如果需要為新用戶設…

qml PathPercent使用介紹

PathPercent 是一個QML類型,它表示 Path 上的一個百分比位置。這個類型通常在 PathAnimation 或 PathInterpolator 中使用,以便在路徑上產生一個特定的位置。它提供了一種方式來表示在 Path 元素上的某個點。通過 PathPercent,你可以指定一個百分比,來表示沿著路徑的位置,…

『亞馬遜云科技產品測評』活動征文|通過Lightsail搭建個人筆記

提示:授權聲明:本篇文章授權活動官方亞馬遜云科技文章轉發、改寫權,包括不限于在 Developer Centre, 知乎,自媒體平臺,第三方開發者媒體等亞馬遜云科技官方渠道 文章目錄 前言實踐知識儲備Lightsail介紹Leanote介紹實踐…

系統架構設計: 21 論敏捷軟件開發方法及其應用

論敏捷軟件開發方法及其應用 請圍繞“敏捷軟件開發方法及其應用”論題,依次從以下三個方面進行論述。 ①簡述你所參與開發的運用了敏捷技術的項目,以及你所擔任的工作; ②分析并討論敏捷<

VSCode插件koroFileHeader的使用。

文章目錄 前言一、koroFileHeader是什么&#xff1f;二、使用步驟1.安裝1.配置2.食用 前言 今天的天氣還不錯&#xff0c;真是金風玉露一相逢&#xff0c;便勝卻人間無數&#xff0c;寫篇博客玩玩&#xff0c;主題&#xff1a;注釋。注釋的本質就是對代碼的解釋和說明&#xf…

nginx 配置靜態緩存全教程 (以及靜態緩存文件沒有生成)

一、第一步定義一個緩存目錄設置目錄結構 在 http 模塊下定義(keys_zone 緩存區名&#xff1a;后面是緩存區大小 inactive 不活躍的文件多久清理 max_size 緩存區所占磁盤的上限 use_temp_path 默認關閉&#xff08;有需要自己百度&#xff09;) proxy_cache_path /path/your…

16 Go的反射

概述 在上一節的內容中&#xff0c;我們介紹了Go的并發&#xff0c;包括&#xff1a;Goroutines、Channels、WaitGroups、Mutex、Select等。在本節中&#xff0c;我們將介紹Go的反射。Go語言中的反射是一種在運行時檢查類型信息并操作對象的能力&#xff0c;通過反射&#xff0…

STM32_6(TIM)

TIM定時器&#xff08;第一部分&#xff09; TIM&#xff08;Timer&#xff09;定時器定時器可以對輸入的時鐘進行計數&#xff0c;并在計數值達到設定值時觸發中斷16位計數器、預分頻器、自動重裝寄存器的時基單元&#xff0c;在72MHz計數時鐘下可以實現最大59.65s的定時不僅…

在游戲開發中,實時渲染和離線渲染對于游戲平衡的影響有哪些?

實時渲染和離線渲染對游戲平衡有那些影響呢&#xff1f;在游戲開發中&#xff0c;渲染方式的選擇對游戲的整體表現和玩家體驗有著至關重要的作用。那么&#xff0c;實時渲染和離線渲染究竟有哪些利弊呢&#xff1f; 一、實時渲染 實時渲染&#xff0c;顧名思義&#xff0c;是…

Ubuntu 1.84.2Visual Studio Code 下載配置與vscode查看內存Hex Editor插件,簡單易懂

目錄 前言 一 首先我為啥要重裝Vs Code呢&#xff1f; 二 下載1.84.2Visual Studio Code 三 配置Vscode終端字體 四 安裝插件 前言 這是一篇將老版本的VsCode下載至最新版的博文&#xff0c;從下載到調試全篇 一 首先我為啥要重裝Vs Code呢&#xff1f; 因為我想安裝這個…

網絡安全深入學習第九課——本機信息收集

文章目錄 一、Windows基本信息收集1、查看當前權限2、查看指定用戶的詳細信息3、查看用戶SID4、查看網卡配置5、查看服務器版本\補丁等6、查看系統架構7、查看安裝的軟件及版本8、查看本機服務信息9、查詢進程信息和列表10、查看啟動程序信息11、查看計劃任務12、查看主機開機時…

1、postman的安裝及使用

一、安裝、登錄 1.安裝 下載地址 2.注冊登錄&#xff08;保存云服務進度&#xff09; 二、界面介紹 三、執行接口測試頁面 請求頁簽&#xff1a; 1、params&#xff1a;當是get請求時&#xff0c;通過params傳參 2、authorization&#xff1a;鑒權 3、headers&#xff1…

大數據-之LibrA數據庫系統告警處理(ALM-37000 MPPDBServer數據目錄或Redo目錄缺失)

告警解釋 當出現如下情況時&#xff0c;產生該告警&#xff1a; 數據實例數據目錄被刪除。數據實例Redo目錄&#xff08;pg_xlog&#xff09;被刪除。 告警屬性 告警ID 告警級別 可自動清除 37000 嚴重 是 告警參數 參數名稱 參數含義 ServiceName 產生告警的服務…

OTP語音芯片WTN6系列:多樣化選擇,滿足各種產品應用需求

隨著科技的快速發展&#xff0c;語音芯片已經成為了智能產品中不可或缺的核心組件。在這個領域中&#xff0c;唯創知音OTP語音芯片WTN6系列以其出色的性能和多樣化的選擇&#xff0c;贏得了廣大開發者的青睞。本文將詳細介紹WTN6系列的幾個重要型號及其特點&#xff0c;并為讀者…

idea 26 個天花板技巧

1、 查看代碼歷史版本&#xff1b;2、 調整idea的虛擬內存&#xff1a;&#xff1b;3、 idea設置成eclipse的快捷鍵&#xff1b;4、 設置提示詞忽略大小寫&#xff1b;5、 關閉代碼檢查&#xff1b;6、 設置文檔注釋模板&#xff1b;7、 顯示方法分隔符&#xff1b;8、 設置多行…

DAOS低時延與高性能RDMA網絡

什么是RDMA RDMA&#xff08;Remote Direct Memory Access&#xff09;遠程直接內存訪問是一種技術&#xff0c;它使兩臺聯網的計算機能夠在主內存中交換數據&#xff0c;而無需依賴任何一臺計算機的處理器、緩存或操作系統。與基于本地的直接內存訪問 ( DMA ) 一樣&#xff0c…

C++ Qt屬性Property使用介紹

文章目錄 C++ 普通類使用Qt屬性Qt窗口類使用屬性自定義控件使用屬性在 Qt 中,屬性(Property)系統提供了一種機制來定義對象的屬性。這些屬性可以在運行時動態地查詢和修改,而且可以通過設計師工具進行可視化編輯。Qt 屬性系統還支持屬性綁定、動畫和其他高級特性。 屬性在…

DFS連通塊問題

DFS連通塊問題 只要是位置的上下左右都有 ‘1’ 的就是同一塊連通塊 一般題目類型有&#xff1a; 連通塊中數量最多的連通塊聯通塊的數量 110010000011111110101001001001101010111011011011101001111110 010000000001010001101100000010010110001111100010101100011110 00…

5-linux-用戶操作、su和sudo、普通權限、特殊權限、解壓壓縮、軟件管理(rpm和yum)、源碼安裝nginx、系統服務、進程管理

1 用戶操作 2 su和sudo 3 普通權限 4 特殊權限 5 解壓壓縮 6 軟件管理&#xff0c;rpm和yum 6.1 rpm 6.2 yum 7 源碼安裝nginx 8 系統服務 9 進程管理 1 用戶操作 ####創建用戶####1 創建sa和sutdents組 groupadd sa groupadd students # 2 用戶可以屬于多個組&#xff0c;只…

03-詳細介紹Stream及其常用API

Stream API Stream API(java.util.stream)把真正的函數式編程風格引入到Java中,可以極大地提高程序員生產力&#xff0c;讓程序員寫出高效、簡潔的代碼 實際開發中項目中多數數據源都是來自MySQL、Oracle等關系型數據庫,還有部分來自MongDB、Redis等非關系型數據庫 從關系型…