如果在RedHat中安装了两个Apache HTTP服务器,那么如何使它们不会相互干扰

时间:2017-12-19 15:41:32

标签: apache redhat bitnami

我已经在我的RedHat系统中安装了Apache HTTP服务器,现在我需要安装一个包含另一个Apache的Bitnami应用程序包。所以我想知道如何让他们互相打扰?

我想我需要为两台HTTP服务器配置不同的端口。但是如果一个人有8080而另一个人有9090,我们会访问http://[ServerName]:8080/something.htmlhttp://[ServerName]:9090/something.html吗?我觉得这种方式非常不方便。我错了还是更好的主意?

3 个答案:

答案 0 :(得分:3)

我的建议是做这样的事情。

例如,有一个Apache实例在端口80中侦听,另一个在端口8080中侦听。在端口80中侦听的Apache实例可以使用ProxyPass和ProxyPassReverse指令充当其他Apache(端口8080)的代理。

https://httpd.apache.org/docs/2.4/mod/mod_proxy.html

您需要定义前缀或虚拟主机,并在其中添加ProxyPass指令。

答案 1 :(得分:1)

我不知道这些应用程序的目标用户类型,但通常的最终用户在浏览网页时不会用于输入端口。

如果你想使用这些端口,那就去吧,但我建议使用Name-based Virtual Host 所以你可以为每个应用程序使用不同的域或子域。

除了this digitalocean page中文档(他们只是指向不同文件夹)提供的示例之外,他们还会记录如何将重定向到不同的网址。

答案 2 :(得分:1)

我完全同意EndermanAPM,在浏览网页时,通常的最终用户不习惯进入端口。因此,我只允许最终用户访问端口80。

除了当前的解决方案之外,我还看到另一个解决方案:

  • 避免弄乱Apache服务器的设置,以免最终导致网站出现故障
  • 让Apache服务器在其指定端口(分别为8080和9090)
  • 上进行侦听
  • 在Apache服务器前安装专用代理。代理将侦听端口80,并定义将解析请求的重定向规则,并将其重定向到正确的Apache服务器。 (见附图)

我建议你HA Proxy。它是一个非常快速和可靠的http和tcp代理。我已经在生产中使用它多年,在应用程序服务器,Web服务器甚至数据库服务器之前。一旦你习惯了它的语法,它就很容易使用。

我知道在等式中引入新组件可能会增加潜在问题的另一个来源。但我认为架构更清洁。此外,两个Apache服务器不会像您要求的那样互相干扰。你可以关闭这两个中的任何一个,另一个可以进一步正常工作。

enter image description here