Javascript 当Django在Apache后面运行Gunicorn时,我如何灵活地处理不同的主机?

Javascript 当Django在Apache后面运行Gunicorn时,我如何灵活地处理不同的主机?,javascript,django,apache,frontend,single-page-application,Javascript,Django,Apache,Frontend,Single Page Application,我有一个Django安装,我想运行同一站点的多种变体:相同的数据、不同的静态内容,最终目标是演示使用各种JavaScript框架实现的XYZ。我想有不同的主页加载,那些拉自己独特的静态内容。(所有预期项目均为SPA。) 我在尝试了这个解决方案,但在我的系统中,现有站点没有提供“pragmatometer.com”的主机名;它给出的主机名为“localhost:8000”,因为Django/Gunicorn将页面作为localhost提供服务。我尝试在/etc/hosts中指定pragmatome

我有一个Django安装,我想运行同一站点的多种变体:相同的数据、不同的静态内容,最终目标是演示使用各种JavaScript框架实现的XYZ。我想有不同的主页加载,那些拉自己独特的静态内容。(所有预期项目均为SPA。)

我在尝试了这个解决方案,但在我的系统中,现有站点没有提供“pragmatometer.com”的主机名;它给出的主机名为“localhost:8000”,因为Django/Gunicorn将页面作为localhost提供服务。我尝试在/etc/hosts中指定pragmatometer.com为127.0.0.1,并将Apache代理指定给pragmatometer.com,但这导致了一个错误。这样就可以在不同的端口上运行不同的主机,这些端口应该被代理为不同的,或者使主页重定向到特定于URL的登录页,这是一种牺牲xyz.pragmatometer.com的干净URL来演示xyz框架实现的解决方案。我看到了用JavaScript进行管道录音的多种方法,我希望未来的老板能看到其中的一两种

理想情况下,我希望多个(子)域的根URL拉取子域特定的主页,并在它们之间保持一致的
/load/*
/save/*
等。我还想让根URL拉它们自己的CSS和JavaScript,但如果我能让根URL正常工作,那就足够容易了

到目前为止,我所看到的最好的解决方案是让不同的服务器进程监听同一IP,但让同构的服务器运行在不同的端口上,并由不同的Apache虚拟主机代理。或者让JavaScript检测URL并用域的“真实”索引覆盖页面,这有点异味

关于更好的解决方案或如何更好地执行上述意图的意见

--编辑--

或者另一种可能更干净的方法:

有一个主映像,为每个框架加载
/framework/
的内容,然后在页面加载到足以容纳文档的程度后使用document.write()删除现有页面内容


如果我使用jQuery以这种方式对页面进行重击和加载,会不会留下任何干扰框架正常工作的污染?

您的堆栈看起来有点疯狂

您需要一个带有Django的Web服务器,它可以被多个域访问。每个域使Django应用程序提供不同的内容。我没听错吧

如果是,那么用Nginx取代Apache可能是成功的。它可以解析请求主机名并决定如何重定向请求:

更新 用于区分不同主机名的相关nginx文档:

用于添加请求头的相关nginx文档:

另请参见以下答案:

我想要一个不同域的页面。只有网页;其他的都应该一样。谢谢;你能提供一个指向相关文档的指针吗?我做了一个更新。这是你想要的信息吗?看起来是这样;我需要深入研究,以提供信息丰富的内容。我没有用过Nginx,虽然我听说它很容易学。