如何本地安装Python Flask并结合内网穿透实现远程开发

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。

  • 推荐:kwan 的首页,持续学习,不断总结,共同进步,活到老学到老
  • 导航
    • 檀越剑指大厂系列:全面总结 java 核心技术点,如集合,jvm,并发编程 redis,kafka,Spring,微服务,Netty 等
    • 常用开发工具系列:罗列常用的开发工具,如 IDEA,Mac,Alfred,electerm,Git,typora,apifox 等
    • 数据库系列:详细总结了常用数据库 mysql 技术点,以及工作中遇到的 mysql 问题等
    • 懒人运维系列:总结好用的命令,解放双手不香吗?能用一个命令完成绝不用两个操作
    • 数据结构与算法系列:总结数据结构和算法,不同类型针对性训练,提升编程思维,剑指大厂

非常期待和您一起在这个小小的网络世界里共同探索、学习和成长。💝💝💝 ✨✨ 欢迎订阅本专栏 ✨✨

博客目录

    • [1. 安装部署 Flask](#1. 安装部署 Flask)
    • [2. 安装 Cpolar 内网穿透](#2. 安装 Cpolar 内网穿透)
    • [3. 配置 Flask 的 web 界面公网访问地址](#3. 配置 Flask 的 web 界面公网访问地址)
    • [4. 公网远程访问 Flask 的 web 界面](#4. 公网远程访问 Flask 的 web 界面)

本篇文章主要讲解如何在本地安装 Flask,以及如何将其 web 界面发布到公网进行远程访问。

Flask 是目前十分流行的 web 框架,采用 Python 编程语言来实现相关功能。较其他同类型框架更为灵活、轻便、安全且容易上手。它可以很好地结合 MVC 模式进行开发,开发人员分工合作,小型团队在短时间内就可以完成功能丰富的中小型网站或 Web 服务的实现。

另外,Flask 还有很强的定制性,用户可以根据自己的需求来添加相应的功能,在保持核心功能简单的同时实现功能的丰富与扩展,其强大的插件库可以让用户实现个性化的网站定制,开发出功能强大的网站。

轻量级 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

创建环境:

conda create -n FLASK python=3.10

激活环境:

conda activate FLASK

创建项目目录:

mkdir FLASK

进入到创建的目录:

cd FLASK

在当前目录启动 VS Code:

code .

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

粘贴下面命令,并保存

# save this as app.py
from flask import Flask

app = Flask(__name__)

@app.route("/")
def hello():
    return "Hello, World!"

在下方 TERMINAL 里输入ls查看目录位置

打开一个新的命令

输入 cd 空格加上刚才 vs code 的目录,例如

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

输入ls查看目录

启动 Flask

text 复制代码
flask run

打开一个新的浏览器,输入http://127.0.0.1:5000/,进入到 HelloWorld 的 web 界面。

2. 安装 Cpolar 内网穿透

上面在本地成功部署了 Flask,并局域网访问成功,下面我们安装 Cpolar 内网穿透工具,通过 cpolar 转发本地端口映射的 http 公网地址,我们可以很容易实现远程访问,而无需自己注册域名购买云服务器.下面是安装步骤:

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

  • 使用一键脚本安装命令
shell 复制代码
curl -L https://www.cpolar.com/static/downloads/install-release-cpolar.sh | sudo bash
  • 向系统添加服务
shell 复制代码
sudo systemctl enable cpolar
  • 启动 cpolar 服务
shell 复制代码
sudo systemctl start cpolar

cpolar 安装成功后,在外部浏览器上访问 9200 端口 即:【http://局域网 ip:9200】,使用 cpolar 账号登录(如没有账号,可以点击下面免费注册),登录后即可看到 cpolar web 配置界面,结下来在 web 管理界面配置即可

3. 配置 Flask 的 web 界面公网访问地址

点击左侧仪表盘的隧道管理------创建隧道,创建一个 Flask 的 cpolar 公网地址隧道:

  • 隧道名称:可自定义命名,注意不要与已有的隧道名称重复
  • 协议:选择 http
  • 本地地址:5000 (局域网访问的端口)
  • 域名类型:免费选择随机域名
  • 地区:选择 China Top
  • 点击创建

隧道创建成功后,点击左侧的状态------在线隧道列表,查看所生成的公网访问地址,有两种访问方式,一种是 http 和 https

4. 公网远程访问 Flask 的 web 界面

使用上面的 cpolar https 公网地址在任意设备的浏览器访问,即可成功看到 Flask 的 web 界面,这样一个公网地址且可以远程访问就创建好了,无需自己购买云服务器,即可发布到公网访问。

由于以上使用 cpolar 所创建的隧道使用的是随机公网地址,24 小时内会随机变化,不利于长期远程访问。

我一般会使用固定二级子域名,因为我希望将网址发送给开发人员分工合作,小型团队在短时间内就可以使用固定的公网地址完成功能丰富的中小型网站或 Web 服务的实现。它是一个固定、易记的公网地址(例如:Flask.cpolar.cn)因此我们可以为其配置二级子域名,该地址为固定地址,不会随机变化【ps:cpolar.cn 已备案】

注意需要将 cpolar 套餐升级至基础套餐或以上,且每个套餐对应的带宽不一样。【cpolar.cn 已备案】

登录 cpolar 官网,点击左侧的预留,选择保留二级子域名,设置一个二级子域名名称,点击保留,保留成功后复制保留的二级子域名名称

保留成功后复制保留成功的二级子域名的名称

返回登录 cpolar web UI 管理界面,点击左侧仪表盘的隧道管理------隧道列表,找到所要配置的隧道,点击右侧的编辑

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

  • 域名类型:选择二级子域名
  • Sub Domain:填写保留成功的二级子域名

点击更新(注意,点击一次更新即可,不需要重复提交)

更新完成后,打开在线隧道列表,此时可以看到公网地址已经发生变化,地址名称也变成了固定的二级子域名名称的域名

最后,我们使用固定的公网地址访问,可以看到访问成功,这样一个固定且永久不变的公网地址就设置好了。

觉得有用的话点个赞 👍🏻 呗。

❤️❤️❤️本人水平有限,如有纰漏,欢迎各位大佬评论批评指正!😄😄😄

💘💘💘如果觉得这篇文对你有帮助的话,也请给个点赞、收藏下吧,非常感谢!👍 👍 👍

🔥🔥🔥Stay Hungry Stay Foolish 道阻且长,行则将至,让我们一起加油吧!🌙🌙🌙

相关推荐
字节程序员1 分钟前
基于Jenkins+Python+Ubuntu+Docker的接口/UI自动化测试环境部署详细过程
python·ubuntu·jenkins
m0_7482487727 分钟前
Go gin框架(详细版)
开发语言·golang·gin
小刘|27 分钟前
深入理解 Cookie 和 Session 在 Java Web 中的应用
java·前端·python
湛海不过深蓝29 分钟前
【js】记录预览pdf文件
开发语言·javascript·pdf
还没想好1231 小时前
R语言,剪切板双向转,临时处理数据
开发语言·r语言
余生H2 小时前
前端Python应用指南(六)构建RESTful API:使用Flask和Django实现用户认证与授权
前端·python·restful
一只自律的鸡2 小时前
C进阶 程序的环境和预处理
c语言·开发语言
码上好玩2 小时前
vscode python pip : 无法将“pip”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。()
开发语言·python·pip
网安康sir2 小时前
202年寒假充电计划——自学手册 网络安全(黑客技术)
linux·网络·python·安全·web安全·网络安全·密码学
海棠AI实验室2 小时前
解锁ChatGPT潜力:打造属于你的AI助手
人工智能·python·机器学习·chatgpt