我按照以下教程中的说明在我的 Amazon EC2 实例上安装了 tomcat 和 Java。http://sites.google.com/site/amistrongeryet/setting-up-java-tomcat-on-ec2。但是在安装后,当我运行“updatedb;locate javac | grep bin”命令时,它无法识别更新和定位命令,并向我显示错误消息locate:未找到命令,并且在安装 tomcat 后,一切都按照上述教程中的说明进行安装,但最后当我运行命令“bin/startup.sh”并尝试导航 url 时http://我的公共域名密钥:8080它给了我连接超时错误。
另外,请参阅下面我用来运行 Java 和 tomcat 的 Linux 命令的命令参考。
命令参考:
[ec2-user@domU-12-31-39-09-D1-AA ~]$ cd /env/tomcat/
[ec2-user@domU-12-31-39-09-D1-AA tomcat]$ ls
apache-tomcat-6.0.33 apache-tomcat-6.0.33.tar.gz
[ec2-user@domU-12-31-39-09-D1-AA tomcat]$ cd apache-tomcat-6.0.33
[ec2-user@domU-12-31-39-09-D1-AA apache-tomcat-6.0.33]$ sudo bin/startup.sh
Using CATALINA_BASE: /env/tomcat/apache-tomcat-6.0.33
Using CATALINA_HOME: /env/tomcat/apache-tomcat-6.0.33
Using CATALINA_TMPDIR: /env/tomcat/apache-tomcat-6.0.33/temp
Using JRE_HOME: /usr
Using CLASSPATH: /env/tomcat/apache-tomcat-6.0.33/bin/bootstrap.jar
[ec2-user@domU-12-31-39-09-D1-AA apache-tomcat-6.0.33]$ rpm -q tomcat
package tomcat is not installed
[ec2-user@domU-12-31-39-09-D1-AA apache-tomcat-6.0.33]$ cd /usr/local/java/
[ec2-user@domU-12-31-39-09-D1-AA java]$ ls
jdk-6u20-ea-bin-b02-linux-amd64-01_apr_2010-rpm.bin sun-javadb-client-10.5.3-0.2.i386.rpm sun-javadb-core-10.5.3-0.2.i386.r
jdk-6u20-ea-linux-amd64.rpm sun-javadb-common-10.5.3-0.2.i386.rpm sun-javadb-demo-10.5.3-0.2.i386.r
[ec2-user@domU-12-31-39-09-D1-AA java]$ cd env/tom
-bash: cd: env/tom: No such file or directory
[ec2-user@domU-12-31-39-09-D1-AA java]$ cd /env/tomcat/
[ec2-user@domU-12-31-39-09-D1-AA tomcat]$ cd apache-tomcat-6.0.33
[ec2-user@domU-12-31-39-09-D1-AA apache-tomcat-6.0.33]$ sudo bin/startup.sh
Using CATALINA_BASE: /env/tomcat/apache-tomcat-6.0.33
Using CATALINA_HOME: /env/tomcat/apache-tomcat-6.0.33
Using CATALINA_TMPDIR: /env/tomcat/apache-tomcat-6.0.33/temp
Using JRE_HOME: /usr
Using CLASSPATH: /env/tomcat/apache-tomcat-6.0.33/bin/bootstrap.jar
[ec2-user@domU-12-31-39-09-D1-AA apache-tomcat-6.0.33]$
请提供任何您能提供的帮助,帮助我解决问题。提前致谢。
答案1
这是我在 32 位小型实例中设置 java 和 tomcat 的步骤。(糟糕的是它们在微型机上支持 32/64 位,但在小型机上仅支持 32 位!)
安装 Tomcat
# make the directory that is going to hold tomcat
sudo mkdir /opt/tomcat
cd /opt/tomcat
# download tomcat
curl http://mirror.olnevhost.net/pub/apache/tomcat/tomcat-6/v6.0.29/bin/apache-tomcat-6.0.29.zip > tomcat6.zip
unzip tomcat6.zip
# now go into apache-tomcat-.../conf/server.xml and change all 8080 to 80 so we are running on the regular web port.
# then start tomcat.
sudo /opt/tomcat/apache-tomcat-.../bin/startup.sh
我后来将其更改为使用 sudo wgethttp://apache.tradebit.com/pub/tomcat/tomcat-7/v7.0.16/bin/apache-tomcat-7.0.16.tar.gz
此时,您应该能够点击 http:/// 并获取 tomcat 管理页面。
安装 Sun JDK 6 下载 Sun JDK 6。您必须同意条款和条件才能下载,所以我认为您必须先下载,然后通过 sftp 传输。我从http://www.oracle.com/technetwork/java/javase/downloads/jdk-6u26-download-400750.html32 位.bin 版本。
将 jdk 解压到 /opt/jdk1.6.xxx,然后使用以下命令将其安装为 java 替代品:
sudo alternatives --install /usr/bin/java java /opt/jdk1.6.0_26/bin/java 1500
sudo alternatives --install /usr/lib/jvm/jre jre /opt/jdk1.6.0_26 1500
sudo alternatives --set java /opt/jdk1.6.0_26/bin/java
sudo alternatives --set jre /opt/jdk1.6.0_26
然后通过检查 java -version 来确保您正在运行 java。由于 tomcat 将以 root 身份启动,因此我使用 sudo 来测试它。
$ sudo java -version
java version "1.6.0_26"
Java(TM) SE Runtime Environment (build 1.6.0_26-b03)
Java HotSpot(TM) Client VM (build 20.1-b02, mixed mode, sharing)
答案2
您是否检查过该实例的安全组是否允许到端口 8080 的入站连接
答案3
看起来 Tomcat 已经启动了。运行
sudo fuser -v -n tcp 8080
它应该输出类似这样的内容:
USER PID ACCESS COMMAND
8080/tcp: tomcat pid F.... java
然后使用 wget 或 curl 直接从实例探测 Tomcat:
wget --spider localhost:8080
如果您收到200 OK
响应,则一定是防火墙设置阻止了连接。按照 David 的建议检查您的安全组设置 - 端口 8080 必须有自定义 TCP 规则。
您可能还会发现下次从 repo 安装 Java 和 Tomcat 会更容易。这里有一份 Amazon Linux 的分步指南我关于 Tomcat 和 EC2 的文章。