有没有人在同一台机器上运行两个不同的Web服务器(如Apache和CherryPy)并没有成功?我现在正在尝试其他网络服务器,我想看看我是否可以在保持其他网站正常运行的同时进行实验.你可以说这不是一个特定的软件问题,因为它是一个普通的网络问题.
我知道可以在不同的端口上运行两个Web服务器; 但有没有办法配置它们,以便它们可以在同一个端口上运行(即,它们都在端口80上运行)?
Web服务器不会提供来自相同域的文件.例如,Apache可以从foo.domain.com提供文档,而另一个Web服务器可以从bar.domain.com提供.
我知道这不是一个理想的配置.我想看看是否可以在我冲下兔子洞之前完成它.:)
您不能将两个进程绑定到同一IP地址上的同一端口.您可以在框中添加另一个IP地址,让每个服务器监听一个.
另一种选择是代理将一台服务器传递给另一台服务器.使用Apache,您可以执行以下操作:
NameVirtualHost *ServerName other.site.com # assumes CherryPy listens on port 8080 ProxyPass / http://127.0.0.1:8080/ ProxyPassReverse / http://127.0.0.1:8080/
这是一个非常快速的示例,但您始终可以查看ProxyPass文档.但请记住,被代理的应用程序将在其日志而不是请求者的IP地址中获得127.0.0.1.某些Web服务器(apache使用mod_rpaf)可以替换X-Forwarded-For标头代替错误的IP地址.可能CherryPy有这个吗?