# FastAPI 部署
## API示例
from fastapi import FastAPI
import uvicorn
app = FastAPI()
@app.get("/")
def read_root():
return {"Hello": "World"}
if __name__ == "__main__":
uvicorn.run("main:app", host="127.0.0.1", port=5000, log_level="info")
## uvicorn 命令部署
命令:uvicorn main:app --reload
## NSSM 部署
NSSM下载地址:http://www.nssm.cc/download
NSSM 安装 api Windows服务:
nssm.exe install "FastAPIWindowsService" "C:\Scripts\FastAPIWindowsService\venv\Scripts\python.exe" "C:\Scripts\FastAPIWindowsService\src\main.py"
## Pyinstaller + Nssm
###### pyinstaller
1、安装pyinstaller -- pip install pyinstaller
2、利用pyinstall打包程序:
a、pyinstaller -D main.py
b、pyinstaller -F -w main.spec
3、nssm 安装 Windows服务
nssm install "servicename"
## Docker部署
Docker基础教程:https://www.runoob.com/docker/docker-tutorial.html
###### windows Docker部署:
1、创建Dockerfile文件
#Dockerfile
FROM tiangolo/uvicorn-gunicorn-fastapi:python3.8
COPY ./DemoOne /app
目录结构:
.
├── DemoOne
│ └── main.py
└── Dockerfile
2、构建镜像
# 在dockerfile的路径下执行 myimage 替换成自己的起的名字作为镜像名
docker build -t myimage ./
3、启动
docker run -d --name mycontainer -p 80:80 myimage
4、访问站点
站点地址:http://127.0.0.1
api文档地址:http://127.0.0.1/docs
api文档示例:
###### Linux Docker部署
暂无