![在不同的 URL 映射上运行多个 Python 服务器](https://linux22.com/image/1476751/%E5%9C%A8%E4%B8%8D%E5%90%8C%E7%9A%84%20URL%20%E6%98%A0%E5%B0%84%E4%B8%8A%E8%BF%90%E8%A1%8C%E5%A4%9A%E4%B8%AA%20Python%20%E6%9C%8D%E5%8A%A1%E5%99%A8.png)
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 我该如何实现这一点?
答案1
您可以运行 nginx 反向代理。 https://www.nginx.com/resources/admin-guide/reverse-proxy/
用户转到 nginx 正在运行的任何端口,并提供 GET 位置,如 /app1 或 /app2。nginx 将解析 GET 位置,找出它应该转到哪个应用程序,并将整个请求及其标头传递给在 localhost:[your-apps-port] 上运行的相应服务