我已经使用Apache和Waitress作为Python WSGI服务器部署了Django应用。我的Apache服务器配置为提供我的静态文件,并且我为WSGI服务器设置了ProxyPass:
httpd.conf :
Alias /static/ /path/to/static/
<VirtualHost *:*>
ProxyPreserveHost On
ProxyPass / http://localhost:9001/
ProxyPassReverse / http://localhost:9001/
ServerName localhost
</VirtualHost>
我使用Waitress来处理应用程序的其余部分,如下所示:
python :
waitress-serve --listen=0.0.0.0:9001 my_app.wsgi:application
这个想法是Apache处理我所有的静态文件,而Waitress处理其余的文件。此设置可在Linux / OSX上运行,但我似乎无法使其在Windows上运行,在Windows上,女服务员WSGI似乎阻止Apache提供静态文件,例如如果我没有运行WSGI服务器,那么Apache将提供静态文件,但是如果两个都在运行,我将看不到我的静态文件(404)。
有人知道为什么在Windows上失败吗?我想找到一个在所有三个平台上都可以使用的解决方案,而不必使用首选纯Python WSGI解决方案的mod_wsgi。
非常感谢您提供有关此工作流程的帮助!