FastAPI + NGINX + Gunicorn:一步一步教你部署一个高性能的Python网页应用
# 步骤1: 安装FastAPI和Gunicorn
pip install fastapi uvicorn gunicorn
# 步骤2: 创建FastAPI应用
cd /path/to/your/project
fastapi init_project myapp
cd myapp
# 步骤3: 编写你的应用代码
# 在 main.py 中编写你的业务逻辑
# 步骤4: 创建一个配置文件 gunicorn.conf.py
# 这个文件用于Gunicorn的配置
# gunicorn.conf.py 示例:
loglevel = "info"
errorlog = "-"
accesslog = "-"
# 步骤5: 启动Gunicorn服务器
gunicorn -c gunicorn.conf.py main:app
# 步骤6: 安装NGINX
# 这通常需要管理员权限,在实际部署中可能需要使用sudo
# 安装NGINX
sudo apt-get install nginx
# 步骤7: 配置NGINX反向代理到Gunicorn服务器
# 编辑NGINX配置文件
sudo nano /etc/nginx/sites-available/myapp
# 在myapp配置文件中添加以下内容
server {
listen 80;
server_name myapp.com;
location / {
proxy_pass http://127.0.0.1:8000;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
# 步骤8: 创建一个软链接到sites-enabled目录
sudo ln -s /etc/nginx/sites-available/myapp /etc/nginx/sites-enabled/
# 步骤9: 检查NGINX配置并重启NGINX服务
sudo nginx -t
sudo systemctl restart nginx
# 步骤10: 让Gunicorn服务器在后台运行
nohup gunicorn -c gunicorn.conf.py main:app &
# 现在你的FastAPI应用已经通过NGINX和Gunicorn部署并运行了!
这个例子展示了如何在一台Ubuntu服务器上部署一个基于FastAPI的Python web应用。它使用了Gunicorn作为服务器管理器,NGINX作为反向代理服务器,提供了高性能和稳定性。这是一个简化的部署流程,实际部署时可能需要考虑更多的安全和性能因素。
评论已关闭