【问题标题】:How to install tomcat on aws ec2 instance with ubuntu如何使用ubuntu在aws ec2实例上安装tomcat
【发布时间】:2012-02-28 02:37:31
【问题描述】:

我已经在一个带有 Ubuntu 的 AWS EC2 实例上安装了 Tomcat 6。我已按照以下步骤操作:

  1. sudo apt-get install tomcat6 tomcat6-admin

  2. sudo /etc/init.d/tomcat6 restart

  3. sudo gedit /etc/tomcat6/tomcat-users.xml

  4. sudo /etc/init.d/tomcat6 restart

    但是当我将实例的公共 DNS 放入导航器 (http://public-dns-name:8080/) 时,它什么也找不到。

【问题讨论】:

  • 您的安全组是否与该实例关联的 8080 端口打开?

标签: tomcat ubuntu amazon-ec2 installation


【解决方案1】:

更新

考虑到所有未成功的测试,您可能想要验证 Tomcat 是否确实在按预期侦听端口 8080 - 请执行 netstat -ln | grep 8080,这应该会产生大约以下输出:

tcp        0      0 0.0.0.0:8080            0.0.0.0:*               LISTEN

虽然 Tomcat 未能绑定到端口 8080 原则上应该会导致日志中出现相应的错误消息,但我已经遇到过一个案例,显然没有,请参阅 cherouvim 对我对ehcache auto-discovery (via multicast) between 2 instances on the same host 的回答的评论。您的系统上也可能存在讨论的问题,因为许多 Java 应用程序服务器和类似服务默认绑定到端口 8080 - 您最终是否在系统上安装了任何不寻常的东西,例如在没有 Ubuntu 包管理器的情况下安装了一些自定义软件?

祝你好运!


当我将公共 DNS 操作系统放在我的实例中时 (http://ec2-176-34-239-3.eu-west-1.compute.amazonaws.com:8080/),它 什么都没找到

请注意您尝试访问的 Tomcat URL 中强调的部分:很可能您没有调整您的 EC2 安全组(类似于 EC2 上的“防火墙”)以允许入站TCP 端口 8080 上的流量(这是 Tomcat 和许多其他 Java 应用程序服务器绑定的默认端口)。

因此,您至少需要为自己启用访问端口 8080,例如在Adding Rules to the Default Security Group 中解释了端口 80 和 22(只需将它们替换为 8080)。

我可能不必强调这一点,但是彻底了解应用程序部署到的 (EC2) 托管环境的安全架构对于运行任何类型的公共互联网服务非常重要 - 以下是一些资源:

【讨论】:

  • 我打开了 8080 端口,其实我有 22 (SSH), 80 (HTTP), 443 (HTTPS), 3306 (MYSQL), 3389 (RDP), 8080 (HTTP*)和 8081
  • @Migua - 好吧,这确实很奇怪,这就是我接下来要尝试的:SSH 进入实例并尝试通过内部/私有 IP 地址访问 Tomcat,例如Lynx(应该在 Ubuntu 上可用);当然,检查 Tomcat 日志中的错误也可能会提供更多线索。
  • 我尝试将 lynx 连接到私有 ip,但如果我使用 apache 的另一个实例(不是 tomcat),消息是“无法连接到远程主机” ) 有用。我很绝望:(
  • @Migua - 好吧,我正在拼命等待有关 Tomcat 日志的信息;)那里有任何线索吗?
  • @Migua - 查看我的更新以了解另一种方法,但无论如何请检查日志!
【解决方案2】:

之前忘记安装 jdk 1.6

【讨论】:

    猜你喜欢
    • 2015-08-25
    • 2019-03-13
    • 2019-10-04
    • 1970-01-01
    • 2011-07-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多