# 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部署
暫無