Django 是否可以在具有一个IP地址(和不同端口)的同一台计算机上运行Apache和IIS

Django 是否可以在具有一个IP地址(和不同端口)的同一台计算机上运行Apache和IIS,django,apache,iis-6,Django,Apache,Iis 6,“主”应该是IIS。有没有一个不用输入端口号就可以寻址Apache的选项 原因是:我无法让Django在IIS上工作 您可以在不同的端口上设置Apache,然后在IIS上使用重定向或代理让用户访问Apache端口,而不必键入端口号。避免键入端口号的唯一方法是设置代理,代理可以是两个Web服务器之一。这样,代理在备用端口上建立连接,客户端不必知道它在哪里 我不知道IIS,但在Apache上,您必须加载mod_proxy(我认为是mod_proxy_http),然后执行以下操作: ProxyRequ

“主”应该是IIS。有没有一个不用输入端口号就可以寻址Apache的选项 原因是:我无法让Django在IIS上工作
您可以在不同的端口上设置Apache,然后在IIS上使用重定向或代理让用户访问Apache端口,而不必键入端口号。

避免键入端口号的唯一方法是设置代理,代理可以是两个Web服务器之一。这样,代理在备用端口上建立连接,客户端不必知道它在哪里

我不知道IIS,但在Apache上,您必须加载mod_proxy(我认为是mod_proxy_http),然后执行以下操作:

ProxyRequests Off

<Proxy *>
  Order deny,allow
  Allow from all
</Proxy>

ProxyPass /foo http://foo.example.com/bar
ProxyPassReverse /foo http://foo.example.com/bar
ProxyRequests关闭
命令拒绝,允许
通融
ProxyPass/foohttp://foo.example.com/bar
ProxyPassReverse/foohttp://foo.example.com/bar
也检查一下

您可能还想看看轻量级Web服务器,例如,如果您要运行两个。通常的设置是使用轻型Web服务器,从主Web服务器中删除特定任务。(Apache用于动态内容,lighttpd用于静态内容就是一个典型的例子)

还有其他的可能性,从变得更花哨,比如

  • 让第三个Web服务器只执行代理,其他两个在备用端口上
  • 让它们运行在同一个端口上,但有两个IP,并通过网络设置隐藏该事实
通过以下两种方法来解决根本原因:

  • 找一个知道如何在IIS上运行Django的人
  • 从IIS移动到另一个Web服务器

当然,我不知道什么可能适合您的情况。

如果这是一个在已经需要IIS的服务器上运行Django的问题,您可以直接在IIS上运行Django,这要感谢像和这样的努力。我认为最好不要运行第二台web服务器,因为它要做的只是将请求代理给第三台服务器,即Django代码。

我以为IIS上的反向代理只在ISA服务器上可用?如果我错了,请纠正我。在任何情况下,apache也可以用作反向代理。为什么需要IIS?有微软技术吗?