Linux 与另一个web服务器一起运行Apache?
有没有人成功地在同一台机器上同时运行两个不同的web服务器,如Apache和CherryPy?我现在正在试验其他web服务器,我想看看我是否可以在保持其他网站正常运行的同时进行试验。你可以说,这与其说是一个具体的软件问题,不如说是一个一般的网络问题Linux 与另一个web服务器一起运行Apache?,linux,apache,Linux,Apache,有没有人成功地在同一台机器上同时运行两个不同的web服务器,如Apache和CherryPy?我现在正在试验其他web服务器,我想看看我是否可以在保持其他网站正常运行的同时进行试验。你可以说,这与其说是一个具体的软件问题,不如说是一个一般的网络问题 我知道可以在不同的端口上运行两个web服务器;但是有没有办法配置它们,使它们可以在同一个端口上运行(即,它们都在端口80上运行) web服务器将不会为来自相同域的文件提供服务。例如,Apache可能提供来自foo.domain.com的文档,而另一
- 我知道可以在不同的端口上运行两个web服务器;但是有没有办法配置它们,使它们可以在同一个端口上运行(即,它们都在端口80上运行)
- web服务器将不会为来自相同域的文件提供服务。例如,Apache可能提供来自foo.domain.com的文档,而另一个web服务器则提供来自bar.domain.com的文档
我知道这不是一个理想的配置。我只是想在我冲进兔子洞之前看看能不能完成 您的最佳选择是将Apache httpd放在端口80前面,并使用模块通过Apache转发其他服务器的请求。最流行的场景是Apache背后的Tomcat,在这里您可以同时运行php和jsp应用程序 我不熟悉CherryPy,所以我只能建议您为CherryPy寻找Apache模块
编辑:这看起来很有希望:或者,根据Ishmael的正确答案,如果您有一台带有两个网卡的服务器,您可以让每台服务器在不同的IP地址上应答请求。您不能让两个进程绑定到同一IP地址上的同一端口。您可以向该框中添加另一个IP地址,并让每个服务器监听一个IP地址 另一个选项是代理将一台服务器传递给另一台服务器。使用Apache,您可以执行以下操作:
NameVirtualHost *
<virtualhost *>
ServerName other.site.com
# assumes CherryPy listens on port 8080
ProxyPass / http://127.0.0.1:8080/
ProxyPassReverse / http://127.0.0.1:8080/
</Virtualhost>
NameVirtualHost*
ServerName other.site.com
#假设CherryPy侦听端口8080
ProxyPass/http://127.0.0.1:8080/
ProxyPassReverse/http://127.0.0.1:8080/
这是一个很快的例子,但你可以随时检查。但是请记住,被代理的应用程序将在其日志中获得127.0.0.1,而不是请求者的IP地址。一些web服务器(apache使用)可以用X-Forwarded-For报头代替错误的IP地址。也许CherryPy有这个