没有端口号如何部署flask项目?在同一台服务器上托管多个烧瓶项目的标准方法是什么?

How to deploy flask projects without port number? What is standard approach to host multiple flask projects on same server?

我有三个产品,想将它们托管在我的服务器上。

我不确定如何部署它们。从我做的reach来看,我知道有两种方法。

  1. 在不同的端口部署每个产品

http://3.18.21.199:5001/twiiter http://3.18.21.199:5002/summary http://3.18.21.199:5003/sentiment

  1. 将每个部署在具有不同路由的同一端口上。

http://3.18.21.199:5000/twiiter http://3.18.21.199:5000/summary http://3.18.21.199:5000/sentiment

我可以从烧瓶极客那里得到建议吗?那什么是正确的方法。

另外,当我们推出产品时,我们最好不要给 link 端口号。喜欢

3.18.21.199:5001/推特 3.18.21.199:5002/摘要 3.18.21.199:5003/情绪

理想情况下应该是

3.18.21.199/推特 3.18.21.199/摘要 3.18.21.199/情绪

我们怎样才能做到这一点?

我认为不可能 运行 在一个端口上运行两个应用程序。使用反向代理不会真正起作用,因为它不知道将请求转发到哪个应用程序。

你需要做的是 运行 它们在不同的端口上,除此之外你可以尝试做的(假设这 3 个应用程序很小)是使用蓝图将它们组合成一个应用程序。执行此操作的另一种方法是执行子域,例如:

推特.3.18.21.199.com sentiment.3.18.21.199.com summary.3.18.21.199.com

要首先实现这一点,您必须启动三个 Gunicorn 进程和三个不同的端口,然后按照此 video then this question

设置 Nginx 反向代理

最理想的设置是将这三个应用程序结合起来。