java - Tomcat 未在 Amazon EC2、Redhat 实例上运行

标签 java tomcat configuration amazon-ec2 amazon-web-services

我是一名java应用程序开发人员,对linux配置了解不多。

我正在尝试将 Java 和 Tomcat 安装到 Amazon EC2 上的新 Redhat 实例,并执行以下脚本。

mkdir /usr/local/java
cd /usr/local/java
curl http://download.oracle.com/otn-pub/java/jdk/7u2-b13/jdk-7u2-linux-i586.rpm > jdk.rpm
rpm -iv jdk.rpm

updatedb; locate javac | grep bin  # this step merely serves to verify the installation
/usr/sbin/alternatives --install /usr/bin/java java /usr/java/jdk1.7.0_02/bin/java 100
/usr/sbin/alternatives --install /usr/bin/jar jar /usr/java/jdk1.7.0_02/bin/jar 100
/usr/sbin/alternatives --install /usr/bin/javac javac /usr/java/jdk1.7.0_02/bin/javac 100
/usr/sbin/alternatives --config java
updatedb

mkdir /env
mkdir /env/tomcat
cd /env/tomcat
curl http://www.gtlib.gatech.edu/pub/apache/tomcat/tomcat-7/v7.0.23/bin/apache-tomcat-7.0.23.tar.gz > apache-tomcat-7.0.23.tar.gz
tar zxvf apache-tomcat-7.0.23.tar.gz
cd apache-tomcat-7.0.23
bin/startup.sh # 

此时,http://ec2-23-20-24-96.compute-1.amazonaws.com:8080/预计会返回 Tomcat 主页,但它没有 :(

cd /etc/rc.d/init.d/
vi tomcat

我将以下内容粘贴到文件中:

#!/bin/sh
# Tomcat init script for Linux.
#
# chkconfig: 2345 96 14
# description: The Apache Tomcat servlet/JSP container.

JAVA_HOME=/usr/java/jdk1.7.0_02
CATALINA_HOME=/env/tomcat/apache-tomcat-7.0.23
export JAVA_HOME CATALINA_HOME

exec $CATALINA_HOME/bin/catalina.sh $*

然后执行:

chmod 755 /etc/rc.d/init.d/tomcat
chkconfig --level 2345 tomcat on

export JAVA_HOME=/usr/java/jdk1.7.0_02
export PATH=$PATH:/usr/java/jdk1.7.0_02
export CATALINA_HOME=/env/tomcat/apache-tomcat-7.0.23

/env/tomcat/apache-tomcat-7.0.23/bin/shutdown.sh
/env/tomcat/apache-tomcat-7.0.23/bin/startup.sh

我没有得到任何错误,但我也无法显示 Tomcat 主页。 你能指导我哪里出错了吗。

谢谢
詹姆斯

编辑:

Tomcat 日志(关于停止和启动服务器)

Jan 18, 2012 2:06:48 AM org.apache.catalina.core.StandardServer await
INFO: A valid shutdown command was received via the shutdown port. Stopping the Server instance.
Jan 18, 2012 2:06:48 AM org.apache.coyote.AbstractProtocol pause
INFO: Pausing ProtocolHandler ["http-bio-8080"]
Jan 18, 2012 2:06:48 AM org.apache.coyote.AbstractProtocol pause
INFO: Pausing ProtocolHandler ["ajp-bio-8009"]
Jan 18, 2012 2:06:48 AM org.apache.catalina.core.StandardService stopInternal
INFO: Stopping service Catalina
Jan 18, 2012 2:06:48 AM org.apache.coyote.AbstractProtocol stop
INFO: Stopping ProtocolHandler ["http-bio-8080"]
Jan 18, 2012 2:06:48 AM org.apache.coyote.AbstractProtocol stop
INFO: Stopping ProtocolHandler ["ajp-bio-8009"]
Jan 18, 2012 2:06:48 AM org.apache.coyote.AbstractProtocol destroy
INFO: Destroying ProtocolHandler ["http-bio-8080"]
Jan 18, 2012 2:06:48 AM org.apache.coyote.AbstractProtocol destroy
INFO: Destroying ProtocolHandler ["ajp-bio-8009"]
Jan 18, 2012 2:08:46 AM org.apache.catalina.core.AprLifecycleListener init
INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: /usr/java/packages/lib/i386:/lib:/usr/lib
Jan 18, 2012 2:08:46 AM org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["http-bio-8080"]
Jan 18, 2012 2:08:46 AM org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["ajp-bio-8009"]
Jan 18, 2012 2:08:46 AM org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 530 ms
Jan 18, 2012 2:08:46 AM org.apache.catalina.core.StandardService startInternal
INFO: Starting service Catalina
Jan 18, 2012 2:08:46 AM org.apache.catalina.core.StandardEngine startInternal
INFO: Starting Servlet Engine: Apache Tomcat/7.0.23
Jan 18, 2012 2:08:46 AM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory /env/tomcat/apache-tomcat-7.0.23/webapps/examples
Jan 18, 2012 2:08:47 AM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory /env/tomcat/apache-tomcat-7.0.23/webapps/host-manager
Jan 18, 2012 2:08:47 AM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory /env/tomcat/apache-tomcat-7.0.23/webapps/manager
Jan 18, 2012 2:08:47 AM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory /env/tomcat/apache-tomcat-7.0.23/webapps/docs
Jan 18, 2012 2:08:47 AM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory /env/tomcat/apache-tomcat-7.0.23/webapps/ROOT
Jan 18, 2012 2:08:47 AM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["http-bio-8080"]
Jan 18, 2012 2:08:47 AM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["ajp-bio-8009"]
Jan 18, 2012 2:08:47 AM org.apache.catalina.startup.Catalina start
INFO: Server startup in 583 ms

编辑 2:

我的问题看起来与 https://forums.aws.amazon.com/thread.jspa?threadID=59937 上的问题相似, 但这没有提供任何解决方案。

我执行了一个 wget,我收到了一个带有 Tomcat 主页 html 的正确的 index.html。
wget http://ec2-23-20-24-96.compute-1.amazonaws.com:8080

我有两个安全组 - default 和 quick-start-1,我已将端口 80 和 8080 添加到列表中。

最佳答案

在 AWS Support 的帮助下解决了这个问题:

Hello

It initially looks like iptables is running on your instance, my checks show filtered ports, you will need to add a rule to allow port 8080, or disable the firewall on the instance itself.

You can verify this by running as root "service iptables stop" and then see if you can connect on port 8080.

Kind Regards
AndyC

链接:https://forums.aws.amazon.com/thread.jspa?messageID=312167&#312167

关于java - Tomcat 未在 Amazon EC2、Redhat 实例上运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8905924/

相关文章:

java - 使用数组时的 binarySearch

java - 限制JToggleButton的选中数量

java - 基于文本搜索的算法未按预期运行

sql - 在 SQL :query tag; why? JSTL 1.2 内部使用时,使用 AS 重命名 SQL SELECT 语句中的列名称失败

java - 即使返回404错误,tomcat是否创建线程

c# - ConfigurationManager 不断获取 Machine.config 连接字符串

java - 来自 Jersey 客户端的 CLOSE_WAIT 中的套接字

java - 使用tomcat进行负载均衡

asp.net-core - 如何覆盖减少数组长度的 ASP.NET Core 配置数组设置

configuration - 如何加密配置文件、grails [和 java] 中的密码