在不同的URL映射上运行多个Python服务器


1

Python允许我在我选择的任何端口上创建和运行应用程序,但是我如何一起处理几个这样的应用程序,以便最终用户只能通过URL区分?基本上,我想要的是:

Host        Port     Default URL              Expected URL
localhost   5000     http://localhost:5000    http://localhost.com/app1
localhost   6000     http://localhost:6000    http://localhost.com/app2
localhost   7000     http://localhost:7000    http://localhost.com/app2

如果我使用Apache2(虚拟主机,对吧?),我认为这很容易,但如果没有Apache2,我怎么能做到这一点?

Answers:


2

您可以运行nginx反向代理。 https://www.nginx.com/resources/admin-guide/reverse-proxy/

用户转到运行nginx的任何端口,并提供/ app1或/ app2等GET位置。 nginx将解析GET位置,找出它应该去的应用程序,并将整个请求及其标题传递给localhost上运行的相应服务:[your-apps-port]


嗯,所以我们回到使用现有的服务器。不管怎么说,还是要谢谢你!
dotslash

别担心,这种情况非常典型 - 它可以提高性能(通过缓存)和运行反向代理的安全性,并且确实有助于将所有网络配置资源集中在一个地方。学习一个全新的程序的功能/流行语很痛苦,但对于nginx / squid / etc我会说它非常值得。
J.J

1
老实说,我对服务器知之甚少,但你的回答指出了我正确的方向。我刚看到一篇DigitalOcean文章,说Apache和Nginx可以一起设置!再次感谢,如果我遇到困难,我会在这里发布另一个问题。 :-)
dotslash
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.