当前位置: 首页 > news >正文

如何在本地安装Flask并将其web界面发布到公网上远程访问协同开发

目录

前言

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 Flask
​
app = 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

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

相关文章:

如何在本地安装Flask并将其web界面发布到公网上远程访问协同开发

目录 前言 1. 安装部署Flask 2. 安装Cpolar内网穿透 3. 配置Flask的web界面公网访问地址 4. 公网远程访问Flask的web界面 前言 本篇文章讲解如何在本地安装Flask,以及如何将其web界面发布到公网上并进行远程访问。 Flask是目前十分流行的web框架,…...

八:爬虫-MySQL基础

一:MySQL数据库基础 1.MySQL数据库介绍 MySQL是一个[关系型数据库管理系统],由瑞典MySQL AB 公司开发,属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Rela…...

Android定制ROM简介

Android定制ROM简介 这篇文章是为对自定义ROM、AOSP等词汇不太熟悉的技术爱好者和好奇的人写的。我希望通过向您介绍这个世界来开始博客写作。 在我们将注意力转向定制ROM之前,让我们先了解一些基础知识。 什么是操作系统? 维基百科对此的定义简洁而…...

百模大战中的AI行业:新趋势与未来发展

文章目录 每日一句正能量前言技术进步应用拓展行业变革人才竞争后记 每日一句正能量 人生最重要的价值是心灵的幸福,而不是任何身外之物。 前言 随着科技的迅猛发展,人工智能(AI)已经成为引领技术革命的重要驱动力之一。在当前的…...

VScode安装C/C++编译器步骤

一、安装C/C插件 二、安装 MinGW-w64 工具链 使用国内源 git clone https://gitee.com/cuihongxi/ubuntu2-mac.git 下载后进入到VScode文件夹下,点击msys2-x86_64-20231026.exe进行安装 完成后,确保选中“立即运行 MSYS2”框,然后选择“完…...

【Date对象】js中的日期类型Date对象的使用详情

😁 作者简介:一名大四的学生,致力学习前端开发技术 ⭐️个人主页:夜宵饽饽的主页 ❔ 系列专栏:JavaScript小贴士 👐学习格言:成功不是终点,失败也并非末日,最重要的是继续…...

【PyTorch】代码学习

文章目录 直接定义nn.Sequential(), 然后append(),最后直接net(),少写很多forward,适合直连式网络 直接定义nn.Sequential(), 然后append(),最后直接net(),少写很多forward,适合直连式网络 代码来源:https://github.com/zshhans/MSD-Mixer/b…...

ElasticSeach--springboot中使用

目录 一.引入依赖 二.配置链接信息 三.索引库测试 1.创建索引库 2.查询索引库 3.删除索引库 四.文档测试 1.添加文档 2.修改文档 3.删除文档 4.查询具体文档 5.批量添加文档 五.查询测试 1.查询所有 2.根据属性term匹配查询 3.分页查询 4.排序 5.过滤属性 6.boo…...

(1)(1.9) MSP (version 4.2)

文章目录 前言 1 协议概述 2 配置 3 参数说明 前言 ArduPilot 支持 MSP 协议,可通过任何串行端口进行遥测、OSD 和传感器。这样,ArduPilot 就能将遥测数据发送到 MSP 兼容设备(如大疆护目镜),用于屏幕显示&#x…...

mysql 表锁 行锁

目录 表锁(Table Lock) 行锁(Row Lock) 进一步通过举例解释 update操作走的是什么锁 表锁示例: 行锁示例: MySQL 中常见的锁类型包括: 表锁(Table Lock) 是针对整个…...

Google 提示:切忌滥用 DORA 指标

谷歌的 DevOps 研究与评估团队从事指标交易,即 DevOps 指标。但其最新的相关报告也警告不要过度使用这些指标。 DevOps 研究与评估小组(DORA)建议 IT 专业人员根据四个关键指标来评估团队绩效:部署频率,变更准备时间&a…...

2023年全球架构师峰会(ArchSummit北京站2023)-核心PPT资料下载

一、峰会简介 ArchSummit聚焦业界强大的技术成果,秉承“实践第一、案例为主”的原则,展示先进技术在行业中的典型实践,以及技术在企业转型、发展中的推动作用。旨在帮助技术管理者、CTO、架构师做好技术选型、技术团队组建与管理&#xff0c…...

安全、高效的MySQL DDL解决方案

MySQL作为目前应用最广泛的开源关系型数据库,是许多网站、应用和商业产品的主要数据存储。在生产环境,线上数据库常常面临着持续的、不断变化的表结构修改(DDL),如增加、更改、删除字段和索引等等。其中一些DDL操作在M…...

100GPTS计划-AI学术AcademicRefiner

地址 https://chat.openai.com/g/g-LcMl7q6rk-academic-refiner https://poe.com/AcademicRefiner 测试 减少相似性 增加独特性 修改http://t.csdnimg.cn/jyHwo这篇文章微调 专注于人工智能、科技、金融和医学领域的学术论文改写,秉承严格的专业和学术标准。 …...

k8s 中部署Jenkins

创建namespace apiVersion: v1 kind: Namespace metadata:name: jenkins创建pv以及pvc kind: PersistentVolume apiVersion: v1 metadata:name: jenkins-pv-volumenamespace: jenkinslabels:type: localapp: jenkins spec:#storageClassName: manualcapacity:storage: 5Giacc…...

Spring Cloud和Zookeeper的集成,构建高可扩展的分布式系统

引言 构建高可扩展的分布式系统是现代应用程序开发中的重要挑战之一。在分布式系统中,负载均衡和分布式锁是两个关键问题。本文将介绍如何使用Spring Cloud和Zookeeper集成来实现高可扩展的分布式系统,并分析其负载均衡原理和分布式锁的应用。 1. 分布…...

【唐山海德教育】安全员c证怎么考

1、注册地在本市的施工单位在职“三类人员”可申请参加安全生产考核; 2、职业道德良好,身体健康,年龄不超过60周岁(法定代表人除外); 3、筑施工企业专职安全生产管理人员需有中专(含高中、中技…...

MySQL是如何保证数据不丢失的?

文章目录 前言Buffer Pool 和 DML 的关系DML操作流程加载数据页更新记录 数据持久化方案合适的时机刷盘双写机制日志先行机制日志刷盘机制Redo Log 恢复数据 总结 前言 上篇文章《InnoDB在SQL查询中的关键功能和优化策略》对InnoDB的查询操作和优化事项进行了说明。但是&#…...

CUMT--Java复习--泛型与集合

目录 一、泛型 1、概述 2、通配符 3、有界类型 二、集合 1、概述 2、迭代器接口 三、集合类 1、Collection接口 2、List接口 3、Set接口 4、Queue接口 5、Map接口 四、集合转换 五、集合工具类 一、泛型 1、概述 从JDK5.0开始,Java引入泛型类型&…...

Android 权限申请

在Android中,从Android 6.0(API级别23)开始,应用在运行时需要动态申请权限。以下是一些步骤来动态申请权限: 在应用的清单文件(AndroidManifest.xml)中声明需要的权限。例如,如果应…...

冠珠瓷砖×莫氏鸡煲×叠滘东胜东队,德叔有请,莫叔掌勺,“力撑”叠滘龙船传承

5月10日,2026叠滘龙船漂移大赛金牌合作伙伴冠珠瓷砖品牌代表、新明珠集团董事长叶德林“德叔”有请,莫氏鸡煲创始人“莫叔”掌勺,携火爆全网的莫氏祛湿鸡煲、紫洞黄皮酒,探班叠滘东胜东队训练场。当天下午,德叔、莫叔还…...

阿里云第一季营收416亿:EBITA为38亿 同比增57%

雷递网 乐天 5月13日阿里巴巴(美股代码:“baba”,港股代号:9988)今日发布2026年第一季度的财报。财报显示,阿里2026年第一季度营收为2433.8亿元(352.83亿美元),同比增长3…...

不止于抓包:用Fiddler做移动端API调试和性能优化的5个实战技巧

不止于抓包:用Fiddler做移动端API调试和性能优化的5个实战技巧 当你已经能够熟练使用Fiddler进行基础抓包操作后,这款工具的真正价值才刚刚开始显现。许多开发者仅仅将其视为一个"网络请求查看器",却忽略了它在移动端开发全流程中的…...

27岁裸辞转网安:从传统行业到网安,我踩通了这条路

27 岁女生从传统行业裸辞转网络安全,3 个月拿到大厂 offer:这行真的没你想的那么难 后台经常收到私信,问我一个做了 4 年传统行业(之前是线下品牌运营)的女生,为什么突然 “跨界” 转做网络安全&#xff1…...

SwiftUI原生集成ChatGPT API:从架构设计到流式响应实战

1. 项目概述:一个原生的Swift版ChatGPT客户端最近在折腾iOS和macOS上的AI应用开发,发现了一个挺有意思的开源项目:alfianlosari/ChatGPTSwift。简单来说,这是一个用纯SwiftUI构建的、直接调用OpenAI官方API的ChatGPT客户端。它不是…...

Laravel Permission 缓存系统终极指南:如何构建高性能多级缓存策略

Laravel Permission 缓存系统终极指南:如何构建高性能多级缓存策略 【免费下载链接】laravel-permission Associate users with roles and permissions 项目地址: https://gitcode.com/gh_mirrors/la/laravel-permission Laravel Permission 是一个功能强大的…...

诺云定制APP:赋能社区团购商家私域长效盈利

如今社区团购行业早已告别野蛮烧钱补贴的粗放发展阶段,迈入精细化私域运营、低成本稳复购的深耕时代。不管是深耕社区多年的本地团购实体店家、社区团长创业者,还是手握生鲜、日用刚需货源的供应链商家,都面临着共同经营难题:依赖…...

别再只会-sS了!Nmap实战:用Wireshark抓包带你搞懂TCP全连接、SYN半连接和隐秘扫描的区别

穿透网络迷雾:用Wireshark解密Nmap扫描背后的TCP握手玄机 在网络安全评估和渗透测试中,端口扫描是最基础却最关键的步骤。大多数工程师都能熟练使用nmap -sS进行SYN扫描,但你是否真正理解数据包在网络层究竟经历了什么?当防火墙规…...

Arm调试寄存器架构详解与应用实践

1. Arm调试寄存器架构概述在Armv8/v9处理器架构中,调试寄存器是实现硬件级调试功能的核心组件。这些寄存器通过外部调试接口(External Debug Interface)为开发人员提供了对处理器内部状态的访问和控制能力。调试寄存器主要分为两类&#xff1…...

企业云盘同步机制深度对比:巴别鸟/坚果云/飞书/OneDrive横评

团队协作场景下,文件同步是高频操作。一次同步卡顿可能导致整个团队等待;一次版本冲突可能让几小时的工作归零。选型时,销售会告诉你"我们同步很流畅",但到底怎么个流畅法,才是本文要拆解的核心。 本文从技术…...