阿里云服务器部署flask简单方法
记录如何在阿里云服务器上部署flask接口并实现公网访问。
文章目录
- 1. 简介
- 2. 部署python3环境
- 3. 生成requirement.txt
- 4. 将项目打包上传
- 5. 安装依赖库
- 6. 查看防火墙
- 7. 测试能否公网访问
1. 简介
因落地通话callback服务测试,需要我写一个测试demo,用于接收callback服务发给demo的http post请求并按一定逻辑返回对应的响应数据。数据格式为json。接口代码已在本地完成,且局域网内访问自测通过。下面介绍如何在阿里云服务器上部署这套接口并实现公网访问。
2. 部署python3环境
本地用的是python 3.7,需要在云服务器上部署python3环境。参考链接:https://blog.csdn.net/u011090984/article/details/130984739
3. 生成requirement.txt
本地pycharm测试demo中,在虚拟环境中执行下面语句,生成一个requirement.txt。这个文档会用于在云服务器上安装依赖库。
pip3 freeze > requirement.txt
4. 将项目打包上传
rz -e #上传
unzip callbackdemo.zip #解压
上面的callbackdemo.zip可以替换成自己的项目包名。
5. 安装依赖库
进入项目目录,给可执行的py文件赋权限
chmod +x aaa.py
安装依赖库。
pip3 install -r requirement.txt
执行完成后,依赖库被安装上。此时我们只能本地访问该接口,我的接口中,host=‘0.0.0.0’,post=5001。所以需要去阿里云安全组中开放5001端口。如下图:


入方向和出方向都配置保存,无需重启实例,实时生效。
6. 查看防火墙
配置了安全组之后,服务器防火墙依然会拦截5001端口。因此要查看防火墙状态。
firewall-cmd --state
我这边状态默认是not running,未开启防火墙,因此不需要关心防火墙问题。如果防火墙已开启,要不就选择关闭,要不就选择命令配置防火墙放行5001出入口流量。
7. 测试能否公网访问
云服务器通过python3 -m main启动接口服务。本地局域网的电脑,使用postman访问接口,接口地址使用云服务器公网ip+5001端口+路由,通。
相关文章:
阿里云服务器部署flask简单方法
记录如何在阿里云服务器上部署flask接口并实现公网访问。 文章目录 1. 简介2. 部署python3环境3. 生成requirement.txt4. 将项目打包上传5. 安装依赖库6. 查看防火墙7. 测试能否公网访问 1. 简介 因落地通话callback服务测试,需要我写一个测试demo,用于…...
【JavaSE】Java基础语法(二十三):递归与数组的高级操作
文章目录 1. 递归1.1 递归1.2 递归求阶乘 2. 数组的高级操作2.1 二分查找2.2 冒泡排序2.3 快速排序2.4 Arrays (应用) 1. 递归 1.1 递归 递归的介绍 以编程的角度来看,递归指的是方法定义中调用方法本身的现象把一个复杂的问题层层转化为一个与原问题相似的规模较…...
HUSTOJ使用指南
如何快速上手(了解系统的功能)? admin管理员用户登录,点击右上角管理,仔细阅读管理首页的说明。 切记:题目导入后一次只能删一题,不要导入过多你暂时用不上的题目,正确的方式是每次…...
java基础学习
一、注释 1)当行注释 // 2)多行注释 /* ... */ 3)文档注释 (java特有) /** author 张三 version v1.0 这是文档注释,需要将class用public修饰 */ 二、关键字 (1)48个关键…...
Linux——进程优先级
1.什么是优先级? 优先级和权限息息相关。权限的含义为能还是不能做这件事。而优先级则表示:你有权限去做,只不过是先去做还是后去做这件事罢了。 2.为什么会存在优先级? 优先级表明了狼多肉少的理念,举个例子ÿ…...
音频设备初始化与输出:QT与SDL策略模式的实现
音频设备初始化与输出:QT与SDL策略模式的实现 一、引言(Introduction)1.1 音频设备初始化与输出的重要性1.2 QT与SDL的音频设备处理1.3 策略模式在音频设备处理中的应用 二、深入理解音频设备初始化与输出2.1 音频设备的基本概念2.2 音频设备…...
Linux 手动部署 SpringBoot 项目
Linux 手动部署 SpringBoot 项目 1. 将项目打包成 jar 包 (1)引入插件 <build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></pl…...
华为OD机试真题B卷 Java 实现【内存资源分配】
一、题目描述 有一个简易内存池,内存按照大小粒度分类,每个粒度有若干个可用内存资源,用户会进行一系列内存申请,需要按需分配内存池中的资源,返回申请结果成功失败列表。 分配规则如下: 分配的内存要大于等于内存的申请量,存在满足需求的内存就必须分配,优先分配粒度…...
深入理解ChatGPT插件:competitorppcads、seoanalysis和kraftful
1. 引言 插件,作为一种扩展功能的工具,为我们的应用程序提供了无限的可能性。在ChatGPT中,我们有许多强大的插件,如competitorppcads、seoanalysis和kraftful。这篇博客将详细介绍这三个插件的功能和使用方法。 2. competitorpp…...
通过源码编译安装LAMP平台的搭建
目录 1. 编译安装Apache httpd服务2 编写mysqld服务3 编译安装PHP 解析环境安装论坛 LAMP架构是目前成熟的企业网站应用模式之一,指的是协同工作的一整套系统和相关软件,能够提供动态Web站点服务及其应用开发环境。 LAMP是一个缩写词,具体包…...
mac os 安装rz/sz
说明:使用rz sz实现终端的文件传输,该命令主要使用场景为 macos中通过堡垒机登陆后无法使用ftp工具传输文件。 工具:iTerm2、lrzsz、homebrew 以及两个脚本文件(iterm2-recv-zmodem.sh、iterm2-send-zmodem.sh) …...
Redis源码(1) 建立监听服务和开启事件循环
Redis 是cs架构(服务端-客户端),典型的一对多的服务器应用程序。多个客户通过网络与Redis服务器进行通信。那么在linux环境中是使用epoll(我们也 只讨论linux环境的,便于学习)。 通过使用I/O多路复用技术, redis 服务器使用单线程单进程的…...
c++基础概念,const与指针、引用的关系,auto,decltype关键字能干啥总得了解吧。总得按照需求自定义创建实体类,自己编写头文件吧
const限定符 有时我们希望定义这样一种变量,它的值不能被改变。例如,用一个变量来表示缓冲区的大小。使用变量的好处是当我们觉得缓冲区大小不再合适时,很容易对其进行调整。另一方面,也应随时警惕防止程序一不小心改变了这个值。…...
【数据结构】---几分钟简单几步学会手撕链式二叉树(下)
文章目录 前言🌟一、二叉树链式结构的实现🌏1.1 二叉树叶子节点个数💫代码:💫流程图: 🌏1.2 二叉树的高度💫第一种写法(不支持):📒代码:…...
用户验证FTP实验
用户FTP实验 目录 匿名用户验证: 本地用户验证: 本地用户访问控制: 匿名用户验证: 例:(前提配置,防火墙关闭,yum安装,同模式vmware11) 现有一台计算机huy…...
App 软件开发《单选4》试卷答案及解析
App 软件开发《单选4》试卷答案及解析 注:本文章所有答案的解析来自 ChatGPT 的回答(给出正确答案让其解释原因),正确性请自行甄辨。 文章目录 App 软件开发《单选4》试卷答案及解析单选题(共计0分)1&#…...
代码随想录算法训练营第三十七天 | 力扣 738.单调递增的数字, 968.监控二叉树
738.单调递增的数字 题目 738. 单调递增的数字 当且仅当每个相邻位数上的数字 x 和 y 满足 x < y 时,我们称这个整数是单调递增的。 给定一个整数 n ,返回 小于或等于 n 的最大数字,且数字呈 单调递增 。 解析 从后向前遍历…...
C++内存总结
1.2 C内存 参考 https://www.nowcoder.com/issue/tutorial?tutorialId93&uuid8f38bec08f974de192275e5366d8ae24 1.2.1 简述一下堆和栈的区别 参考回答 区别: 堆栈空间分配不同。栈由操作系统自动分配释放 ,存放函数的参数值,局部变…...
开发移动端官网总结_Vue2.x
目录 1、自定义加载中效果 2、HTML页面注入环境变量 / 加载CDN和本地库 3、在 Vue 中使用 wow.js 4、过渡路由 5、全局监听当前设备,切换PC端和移动端 6、移动端常用初始化样式 7、官网默认入口文件 8、回到顶部滑动过渡效果(显示与隐藏、滑动置…...
Zookeeper+消息队列Kafka
一、Zookeeper 概述 官方下载地址:Index of /dist/zookeeper 1.1 Zookeeper 定义 Zookeeper是一个开源的分布式的,为分布式框架提供协调服务的Apache项目。 1.2 Zookeeper 工作机制 Zookeeper从设计模式角度来理解:是一个基于观察者模式设…...
5分钟搞懂FGSM:用Python手把手教你生成第一个对抗样本(附代码)
5分钟搞懂FGSM:用Python手把手教你生成第一个对抗样本(附代码) 对抗样本生成听起来像是黑客的专属技能,但今天我要告诉你:用不到10行Python代码就能实现。去年我在一个图像识别项目中第一次遭遇对抗样本攻击——系统将…...
三星 Infinite AI 葡萄酒冰箱:智能厨房新尝试能否突围?
AI 加持,葡萄酒管理新体验周一,三星推出了 Infinite AI 葡萄酒冰箱,目前仅在韩国有售。这款冰箱采用了“AI 葡萄酒管理器”,借助安装在顶部的“AI 视觉”摄像头,能检测用户放入或取出的酒瓶及位置,还能分析…...
Monaco-Editor插件使用小坑
无法通过鼠标进行选中文本<div id"monacoEditor" class"monacoEditor"></div>外层添加了splinter拖拽组件,导致mousemove事件被拦截,给monaco-editor添加css:pointer-events:auto.monacoEditor .…...
5分钟掌握:PowerToys Image Resizer让图片批量处理效率提升10倍
5分钟掌握:PowerToys Image Resizer让图片批量处理效率提升10倍 【免费下载链接】PowerToys Microsoft PowerToys is a collection of utilities that supercharge productivity and customization on Windows 项目地址: https://gitcode.com/GitHub_Trending/po/…...
效率提升秘籍:使用快马AI一键生成动漫视频批量处理与格式转换工具
效率提升秘籍:使用快马AI一键生成动漫视频批量处理与格式转换工具 最近接手了一个动漫视频处理的项目,需要将大量不同格式的动漫视频统一转换为高清MP4格式,并生成预览缩略图。手动处理不仅耗时耗力,还容易出错。于是我开始寻找自…...
当今互联网安全的基石 - TLS/SSL
LS(Transport Layer Security)传输层安全协议 发展历程 TLS 是 SSL 协议的继任者。由于 SSL 协议存在一些安全漏洞,并且随着网络安全需求的不断提高,IETF(Internet Engineering Task Force)对 SSL 3.0 进…...
酒精测试仪
简 介: 本文介绍了一款酒精测试仪的使用方法。测试仪开机后需等待15秒预热(数字倒计时),预热结束后对着吹气口吹气3秒即可显示测量结果。实验表明,该仪器灵敏度较高:直接吹气显示11左右,不吹气显…...
Laya3D美术进阶:巧用Shader实现APP级游戏效果还原
1. 为什么选择Laya3D的Shader技术? 很多开发者第一次接触Laya3D时,都会有个疑问:为什么不用Unity直接开发?特别是在微信小游戏这个特定场景下,Laya3D的Shader技术到底能带来什么优势?我做了三年Laya小游戏…...
Unity UGUI实战:手把手教你打造一个可拖拽、可弯曲的UI连线组件(附完整源码)
Unity UGUI实战:打造可拖拽、可弯曲的智能连线系统 在游戏开发中,可视化连接系统是构建技能树、流程图、科技树等复杂UI结构的核心组件。传统实现往往局限于静态线条或简单的直线连接,缺乏交互性和动态美感。本文将带你从零构建一个支持实时拖…...
快手直播推流码获取新方法:个人用户如何绕过限制使用OBS推流
1. 快手直播推流码获取现状解析 去年快手平台对个人用户关闭云直播功能后,很多主播突然发现没法用OBS这类专业推流工具了。这事儿确实挺让人头疼的,毕竟用OBS推流能实现多场景切换、添加专业特效,直播效果直接上几个档次。我实测发现…...
