【问题标题】:Deploying WAR file in Amazon AWS - Tomcat and Apache HTTP Server conflict在 Amazon AWS 中部署 WAR 文件 - Tomcat 和 Apache HTTP 服务器冲突
【发布时间】:2012-07-14 06:30:24
【问题描述】:

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

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

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

当我访问我的实例的 URL (http://ec2-107-20-92-32.compute-1.amazonaws.com) 时,我看到了 Apache HTTP 2.2 Only 的默认页面,如果我没记错的话,它适用于端口号 80。

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

或者,还有其他的替代品吗?

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

TIA :)

【问题讨论】:

  • 通过 Apache 访问 webapp 对您来说重要吗?否则,只需关闭 apache 服务并重新配置 tomcat 以在端口 80 而不是 8080 上工作
  • 否则,请查看this了解详情

标签: linux apache amazon-ec2 tomcat6


【解决方案1】:

除了 mac 的建议(关闭 Apache 并让 Tomcat 监听端口 80,或者在 Apache 上配置 Tomcat 连接器),您还可以在 Apache 配置中设置一对ProxyPass/ProxyPassReverse 指令,例如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/

【讨论】:

    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 2012-10-29
      • 2018-07-25
      • 1970-01-01
      • 2018-10-24
      • 1970-01-01
      • 2012-08-10
      • 2020-08-01
      • 1970-01-01
      • 2014-08-14
      相关资源
      最近更新 更多