搭建Fastapi后端服务
关于设计思路
设计上想要采用微服务架构来编写,但是本人对如何设计微服务模式,还不太熟练,以下是我的一些简单设计,有修改意见欢迎大佬指出:
- Python的Fastapi用作后端服务,主要作用为接口测试平台的功能,后期与压测服务器等服务区分使用
- React作为前端服务,准备使用umi来拼凑一些前端页面,能用即可,前端学习ing
- Golang的Gin用作压测机的worker
开始前的准备
- Python3.4以上,3.9最佳
- IDE:Pycharm
- 新建一个文件夹,命名为abandon(里面存放我们的所有项目文件,如server和web)
- 在abandon中新建一个文件夹叫做abandon-server,作为我们的Python后端项目目录
环境准备
- 使用Pycahrm打开abandon-server项目
- 添加虚拟环境venv,添加我们的Python解释器
- 升级pip为最新(因为刚创建虚拟环境后,pip版本不是最新,在后续pip安装时会出现一些问题)
- 安装Fastapi并且安装uvicorn来作为服务器
pip install fastapi
pip install "uvicorn[standard]"
开始
初始化app
创建abandon-server/src/app/__init__.py
编辑__init__.py
from fastapi import FastAPI
abandon = FastAPI()
编辑Web服务
创建abandon-server/main.py 编辑main.py
import uvicorn
from src.app import abandon
@abandon.get('/')
def hello_world():
return 'Hello Abandon!'
if __name__ == "__main__":
uvicorn.run(app=abandon, host='0.0.0.0', port=9923)
其中@abandon.route("/")是一个装饰器, 代表hello_world这个函数与路由/进行绑定,也就是说当访问到/路由的时候,函数hello_world会自动执行。
uvicorn.run(app=abandon, host='0.0.0.0', port=9923) 这句话表示启动web服务,参数0.0.0.0表示接受任何ip的访问,port代表服务挂载的端口,这里我们以9923为端口号。
运行
尝试一下在Pycharm中,main.py文件下右键-run运行;也可以在终端使用命令python main.py来运行
验证
打开浏览器输入: http://localhost:9923/
如果看到这个hello Abandon!说明你成功了!