记录如何在阿里云服务器上部署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端口+路由,通。