首页 / 知识

关于linux:将Apache与另一个Web服务器一起运行?

2023-04-12 23:28:00

关于linux:将Apache与另一个Web服务器一起运行?

Running Apache alongside another web server?

有人在同一台计算机上同时运行两个不同的Web服务器(例如Apache和CherryPy)取得了成功吗?我现在正在尝试其他Web服务器,我想看看是否可以在保持其他站点正常运行的同时进行实验。您可以说这不是一个特定的软件问题,而是一个一般的网络问题。

  • 我知道可以在不同的端口上运行两个Web服务器。但是有什么方法可以配置它们以便它们可以在同一端口上运行(即它们都在端口80上运行)?
  • Web服务器将不提供来自相同域的文件。例如,Apache可以从foo.domain.com提供文档,而另一个Web服务器可以从bar.domain.com提供服务。

我确实知道这不是理想的配置。我想看看是否可以在冲刺兔子洞之前完成。 :)


您不能将两个进程绑定到同一IP地址上的同一端口。您可以在框中添加另一个IP地址,并使每个服务器监听一个IP地址。

另一种选择是将一台服务器传递给另一台服务器。使用Apache,您可以执行以下操作:

1
2
3
4
5
6
7
8
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>

这是一个非常简单的示例,但是您始终可以查看ProxyPass文档。但是请记住,被代理的应用程序的日志中将显示127.0.0.1,而不是请求者的IP地址。某些Web服务器(Apache使用mod_rpaf可以做到)可以代替错误的IP地址来替换X-Forwarded-For标头。 CherryPy可能有这个吗?


或者,对于Ishmaeel的正确答案,如果您的服务器具有2个网卡,则可以让每个服务器在不同的IP地址上回答请求。


您最好的选择是将Apache httpd放在端口80的前面,并使用模块通过Apache中继对其他服务器的请求。最受欢迎的场景是Apache之后的Tomcat,您将可以在其中运行php和jsp应用程序。

我对CherryPy并不熟悉,所以我只能建议您为CherryPy寻找一个Apache模块。

编辑:这看起来很有希望:http://tools.cherrypy.org/wiki/BehindApache


服务器运行计算站点

最新内容

相关内容

热门文章

推荐文章

标签云

猜你喜欢