flask使用80端口

flask通过nginx转发80端口

    • 背景
    • 依赖包
      • nginx配置
      • gunicorn配置
      • 项目启动

背景

最近做一个项目通过flask框架完成,由于flask默认端口是5000,为了不暴露端口,需要使用80,但是发现flask直接用80端口无法使用,后面就想到通过该80端口进行转发。

依赖包

  1. gunicorn
    Gunicorn是一个unix上被广泛使用的高性能的Python WSGI UNIX HTTP Server。和大多数的web框架兼容,并具有实现简单,轻量级,高性能等特点。
    具体参考: Gunicorn

  2. flask
    文档: flask

nginx配置

server {
    listen 80;
    server_name 127.0.0.1; # 实际外界访问的地址
    location / {
        proxy_pass        http://127.0.0.1:5001/; # 对应不同环境访问的地址
        proxy_redirect     off;

        proxy_set_header   Host             $http_host;
        proxy_set_header   X-Real-IP        $remote_addr;
        proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;

    }
}

gunicorn配置

# 并行工作线程数
workers = 4
# 监听内网端口5000【按需要更改】
bind = '127.0.0.1:5001'
# 设置守护进程【关闭连接时,程序仍在运行】
daemon = False
# 设置超时时间120s,默认为30s。按自己的需求进行设置
timeout = 120

项目启动

 gunicorn app:app -c ./gunicorn/gunicorn.conf

你可能感兴趣的:(python)