我的Dash应用程序前需要反向代理(Nginx)吗?

问题描述 投票:0回答:1

我正在开发一个Dash应用程序,它向两个Flask-RESTful应用程序发出请求以获取数据并填充不同的表格和图形。我打算在DigitalOcean Droplet上部署这些应用程序,将它们放在Docker容器中。我读到Flask内置服务器有一些限制,主要适用于开发目的。我的用户群不是很大(最多10个人),但我想知道当我的应用程序需要处理多个请求时是否会遇到一些问题。我是否需要在我的Dash应用程序前使用反向代理,如Nginx,为什么?

nginx flask digital-ocean plotly-dash
1个回答
0
投票

我的理解是Flask仅用于开发因为

  • 安全原因
  • Flask无法处理并行性(因此所有请求都按顺序处理)

即使您的用户群不大,我也建议使用其他WSGI HTTP服务器。你可以选择gunicorn。它是用python编写的,与Flask或Dash一起使用非常简单。

如果您的python文件中的Flask应用程序名称是app,而您的文件名称是dash_app.py,那么就像使用它一样简单

CMD gunicorn -b 0.0.0.0:7000 -w 4 dash_app:app

使用4名工作人员在端口7000上的主界面上启动您的应用程序。

如果您没有Flask服务器变量,但只有dash_app.py中的Dash变量,那就简单了

CMD gunicorn -b 0.0.0.0:7000 -w 4 dash_app:app.server

有关详细信息,请参阅https://www.digitalocean.com/community/tutorials/how-to-serve-flask-applications-with-gunicorn-and-nginx-on-ubuntu-18-04

© www.soinside.com 2019 - 2024. All rights reserved.