记录一次FastApi框架的部署过程

最近在搞这个超星学习通自动签到脚本,方便使用再搞个api,方便自己也方便小伙伴使用。

Python主流的web框架,就是django,flask

这些都不熟悉

django都才开始入门,flask框架很快就可以搞成了

只需要接收到参数,然后带着参数到后台脚本处理完毕,再返回来就可以了。

前几天在一个公众号上看到了关于FastApi的文件,所以就想试试。

安装docker

https://www.runoob.com/docker/centos-docker-install.html

开始部署

  1. 创建一个文件夹app
    将我们的开发的程序上传至app文件夹内
  2. 然后和app文件夹同目录下,创建文件Dockerfile

此时你的文件目录应该是这样的

.
├── app
│   └── main.py
└── Dockerfile
  1. 编辑Dockerfile
FROM python:3.7

RUN pip install fastapi uvicorn

EXPOSE 80

COPY ./app /app

CMD ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "80"]

具体安装什么模块,然后在Docker文件中编写命令
例如:需要使用到requests模块,则应该添加指令RUN pip install requests,一般来讲,将所拥有的模块名,统一放在一个文本文件里面,然后pip install requirements.txt 就会安装文本文件内指定的所有库了
  1. 在Dockerfile文件目录下,运行指令
docker build -t fastapi .

上面指令后面有一个 . 这是代表当前目录,不要给忽略了


接着再运行

docker run -d --name mycontainer -p 80:80 fastapi

运行之后,就可以通过80端口访问

更详细的部署教程,可查看官方的
https://fastapi.tiangolo.com/deployment/#create-a-dockerfile

FastApi介绍

FastAPI是一种现代,快速(高性能)的Web框架,用于基于标准Python类型提示使用Python 3.6+构建API。

主要功能是:

快速:非常高的性能,看齐的NodeJS 和 Go(感谢Starlette和Pydantic)。现有最快的Python框架之一。

快速编码:将功能开发速度提高约200%至300%*。

更少的错误:减少约40%的人为错误(开发人员)。*
直观:强大的编辑器支持。完成无处不在。调试时间更少。
简易:旨在易于使用和学习。减少阅读文档的时间。
短:最小化代码重复。每个参数声明中的多个功能。更少的错误。
健壮:获取可用于生产的代码。具有自动交互式文档。
基于标准:基于(并完全兼容)API的开放标准:OpenAPI(以前称为Swagger)和JSON Schema。

添加新评论