在Amazon AWS中部署WAR文件 - Tomcat和Apache HTTP Server冲突

时间:2012-07-14 06:30:25

标签: linux apache amazon-ec2 tomcat6

我正在使用Amazon Linux AMI实例,并且已在其上部署了war文件。

The Console

部署的war文件显示在tomcat6的“webapps”文件夹中。

真正的问题是 - 还安装了Apache HTTP 2.2服务器。

当我访问我的实例的URL(http://ec2-107-20-92-32.compute-1.amazonaws.com)时,我看到Apache HTTP 2.2的默认页面,如果我没有错,则可以在端口号80上工作。

现在,我如何让我的Apache HTTP 2.2服务器与tomcat6通信以显示在Tomcat中部署的网站?

或者,还有其他替代方案吗?

(我使用MacOS X的终端连接到我的实例,我在S3上上传WAR以在tomcat中部署它。)

TIA:)

2 个答案:

答案 0 :(得分:0)

除了mac的建议(关闭Apache并使Tomcat在端口80侦听,或在Apache上配置Tomcat连接器),您还可以设置一对ProxyPass / ProxyPassReverse指令Apache配置,如mod_proxy documentation上的示例。

如果您决定遵循此建议,您的规则将如下所示(在VirtualHost收听端口80处):

ProxyPass / http://ec2-107-20-92-32.compute-1.amazonaws.com:8080/
ProxyPassReverse / http://ec2-107-20-92-32.compute-1.amazonaws.com:8080/

答案 1 :(得分:0)

没有任何效果。 我删除了实例并尝试使用Ubuntu 12.04 64位实例,它工作正常。 我不知道为什么它在Amazon Linux AMI中不起作用:(