All Posts

ubuntu使用Gunicorn部署flask项目

May 20
·
views
·
likes

@本文使用ChatGpt生成

在 Ubuntu 系统上部署 Flask 项目可以通过多种方式完成,但其中一个常见且有效的方法是使用 Gunicorn 作为 WSGI HTTP 服务器,结合 Nginx 作为反向代理服务器。以下是一步一步的部署指南:

1: 准备环境

2: 编写Flask应用

创建一个名为 app.py 的简单 Flask 应用:

app.py
from flask import Flask
 
app = Flask(__name__)
 
@app.route('/')
def hello_world():
    return 'Hello, World!'
 
if __name__ == "__main__":
    app.run()

步骤 3: 使用 Gunicorn 运行 Flask 应用

步骤 4: 安装和配置 Nginx

  1. 安装 Nginx:

    sudo apt install nginx
  2. 配置 Nginx 作为反向代理:

    • 创建一个配置文件 /etc/nginx/sites-available/myflaskapp

      server {
          listen 80;
          server_name example.com;  # 替换为你的域名或公网 IP
       
          location / {
              proxy_pass http://localhost:8000;
              proxy_set_header Host $host;
              proxy_set_header X-Real-IP $remote_addr;
              proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
              proxy_set_header X-Forwarded-Proto $scheme;
          }
      }
    • 激活网站:

      sudo ln -s /etc/nginx/sites-available/myflaskapp /etc/nginx/sites-enabled/
      sudo nginx -t
      sudo systemctl restart nginx

步骤 5: 设置防火墙

确保你的防火墙允许 HTTP(端口 80)和 HTTPS(端口 443)流量:

sudo ufw allow 'Nginx Full'

通过以上步骤,你的 Flask 应用应该已经可以通过 Internet 在 Ubuntu 服务器上访问了。这只是一个基本的部署指南,根据你的具体需求,可能还需要进一步的优化和安全配置。