1. 创建一个fastapi的demo文件
这个文件名叫testfastapi.py。代码内容为:
from fastapi import FastAPI
import uvicorn
import datetime
app = FastAPI()
@app.get("/")
async def root():
return {"message": "Hello World", "datetime": datetime.datetime.now(), "test": 'this is a test'}
if __name__ == '__main__':
uvicorn.run(app='testfastapi:app', host="0.0.0.0",
port=8000, reload=True, debug=True)
注意上面的最后一个部分,uvicorn.run里面,有个app的参数,要写对喽。这个时候我如果想要运行这个文件,只需要运行:
python testfastapi.py
2. 希望关闭终端也继续运行
这个解决办法就是使用nohup
可以这样写:
nohup python /root/mycode/test/testfastapi.py &
一定不要忘记了py文件要写绝对位置,另外最后要写一个&
。
或者这样写
nohup python /root/mycode/test/testfastapi.py 1>>testfastapi.out &
3. 如何关闭后台运行的fastapi进程
因为我们的fastapi运行的时候都是依赖端口的,所以我们可以根据端口多少来查询这个进程的pid。
上面的端口是8000, 那么我可以这样查询:
sudo lsof -i:端口号
然后看到这些进程的pid之后,直接运行就可以杀死进程
sudo kill PID号