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

问题描述 投票:2回答:3

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

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

apache redhat bitnami
3个回答
3
投票

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

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

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

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


1
投票

我不知道这些应用程序的目标用户是什么类型,但通常的最终用户在浏览Web时不习惯进入端口。

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

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


1
投票

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

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

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

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

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

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.