软件安装
安装Python
1 | sudo apt update |
安装Supervisor和NGINX
1 | sudo apt install supervisor nginx -y |
启用Supervisor
1 | sudo systemctl enable supervisor |
设置 FastAPI 应用程序
一般使用git拉取代码
1 | git clone https://github.com/dylanjcastillo/fastapi-nginx-gunicorn |
创建一个虚拟环境并激活它:
1 | cd /home/fastapi-user/fastapi-nginx-gunicorn |
安装依赖
对于一般项目,使用
requirements.txt文件中指定的依赖项安装所需的软件包:1
pip install -r requirements.txt
或对于
src架构的项目,执行可编辑安装1
pip install -e .
验证程序,良好的项目应该可以用 pytest 验证
配置Gunicorn
设置Gunicorn
首先,在项目目录中创建一个名为 gunicorn_start 的文件:
1 | vim gunicorn_start |
然后,将以下内容添加到文件中:
1 |
|
保存并关闭文件。然后,通过运行以下命令使其可执行:
1 | chmod u+x gunicorn_start |
最后,在项目目录中创建子目录 run,用于存储您在参数中定义的Unix套接字文件BIND,
创建子目录 log,用于存储日志
1 | mkdir run |
配置Supervisor
接下来,通过运行以下命令创建Supervisor的配置文件:
1 | sudo vim /etc/supervisor/conf.d/fastapi-app.conf |
复制并粘贴以下内容到文件中:
1 | [program:fastapi-app] |
重新加载Supervisor配置并重启服务,通过运行以下命令:
1 | sudo supervisorctl reread |
最后,您可以通过运行以下命令检查程序的状态:
1 | sudo supervisorctl status fastapi-app |