推荐文章
- 【FastAPI 基础】20、docker打包本地fastapi服务及环境,并线上部署
- Docker部署FastApi详解,这一篇就够了
- FastAPI 部署在Docker的详细过程
自己的demo
# fastapi 1.0
# base images 基础镜像
FROM ubuntu:18.04
#MAINTAINER 维护者信息
MAINTAINER huhu
# 设置语言 必须设置,否则下载某些python依赖包报错
ENV LANG C.UTF-8
ENV LANGUAGE C.UTF-8
ENV LC_ALL C.UTF-8
#更换ubuntu 的源
RUN mv /etc/apt/sources.list /etc/apt/sources.list.bak
ADD ./sources.list /etc/apt/
#下载相关工具及服务, -y 是自动回复交互式输入[y/n] 确定
RUN apt-get update
&& apt-get install -y vim supervisor python3.8 python3-distutils
&& apt-get install -y python3-pip
&& pip3 install --upgrade pip
#指定工作目录,若无,则自动创建
WORKDIR /root/app
COPY . .
RUN pip3 install -r requirements.txt
#EXPOSE 映射端口
EXPOSE 9000 9001
# 运行服务
CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "9000", "--reload", "--log-level", "info"]
3. 在服务器部署fastapi 命令行启动命令
第一种使用方式
uvicorn main:app --host '0.0.0.0' --port 8000 --reload
第二种使用方式(推荐)
Gunicorn是一个成熟的、功能齐全的服务器和流程管理器。
Uvicorn包含一个Gunicorn worker类,允许您运行ASGI应用程序,具有Uvicorn的所有性能优势,同时还为您提供了Gunicorn的全功能流程管理。
这允许您动态地增加或减少工作进程的数量,正常地重新启动工作进程,或者在不停机的情况下执行服务器升级。
对于生产部署,我们建议将gunicorn与uvicorn worker类一起使用。
gunicorn main:app -b 0.0.0.0:8000 -w 1 -k uvicorn.workers.UvicornWorker



