Python应用程序服务器和Web服务器共存?

我有一个网站的example.com,运行了一个“正常”的networking服务器,即在目前的Apache,但在未来寻找内存密集的替代select,所以我不希望Apache上的mod_WSGI。

不久,我将要部署一个用python应用服务器运行的web应用程序。 我想这个回答所有的请求example.com/reallycoolpythonwebapp/与Web服务器照顾其余的。

这样的架构是如何创build的? 我期待指向相关的在线文档赞赏。

你可以在不同的端口上运行你的python服务器,然后利用Apache的(或者像nginx等任何体面的web服务器)反向代理function来反向代理例如/ com / reallycoolpythonwebapp到python应用服务器的任何请求

这对用户来说也是透明的

example.com虚拟主机中的一些Apacheconfiguration可能看起来像这样假设mod_proxy已安装并启用

ProxyPass /reallycoolpythonwebapp/ http://localhost:3000/ ProxyPassReverse /reallycoolpythonwebapp/ http://localhost:3000/ <Proxy *> allow from all </Proxy> 

我可能会设置Apache代理请求localhost:xyz(或任何主机/端口您的python应用程序将侦听)时请求匹配example.com/reallycoolpythonwebapp/

你应该能够通过mod_rewrite(匹配目标URL)和mod_proxy的组合来解决这个问题。

相关的Apache文档:

http://httpd.apache.org/docs/2.0/mod/mod_proxy.html

http://httpd.apache.org/docs/2.0/mod/mod_rewrite.html#rewriterule

特别是在第二个中,请注意以下表格条目:

^ / somepath(。*){url1} $ 1 [P] {url2}

最常见的答案是代理。 对于初学者mod_proxyhttp://httpd.apache.org/docs/2.2/mod/mod_proxy.html )。