首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Apache在亚马逊EC2错误:找不到org.apache.catalina.util.ServerInfo

Apache在亚马逊EC2错误:找不到org.apache.catalina.util.ServerInfo
EN

Stack Overflow用户
提问于 2014-08-05 22:24:19
回答 1查看 5K关注 0票数 1

我遵循了这里提供的安装指南:http://www.excelsior-usa.com/articles/tomcat-amazon-ec2-basic.html

我正在使用Amazon ()运行一个AWS EC2实例: Amazon 2014.03.2 (HVM) - ami-d13845e1

我已经在机器上安装了Java 7:

代码语言:javascript
运行
复制
${JAVA_HOME}/bin/java -version
java version "1.7.0_65"
OpenJDK Runtime Environment (amzn-2.5.1.2.43.amzn1-x86_64 u65-b17)
OpenJDK 64-Bit Server VM (build 24.65-b04, mixed mode)

我安装了Tomcat7。当我启动服务器并试图连接到8080端口上的计算机地址时,我会得到一个空白页,或者请求只是挂起。我已经安装了所有的Tomcat7包(请参阅本文开头链接的步骤#5 ),所以我应该看到默认的Tomcat主页(我甚至很乐意使用400个响应代码!)

我可以确认我的安全组是正确的(我以前用这个安全组从端口8080运行Jetty )。我还按照指南的命令检查tomcat7是否正在运行并侦听端口8080:

代码语言:javascript
运行
复制
$ sudo fuser -v -n tcp 8080 
                     USER        PID ACCESS COMMAND
8080/tcp:            tomcat     1669 F.... java

当我试图运行version命令时,我得到了一个非常奇怪的响应:

代码语言:javascript
运行
复制
$ sudo service tomcat7 version
/usr/sbin/tomcat7: line 21: .: /etc/sysconfig/: is a directory
/usr/sbin/tomcat7: line 25: cd: HOME not set
Error: Could not find or load main class org.apache.catalina.util.ServerInfo

我尝试谷歌周围寻找解决方案,我尝试了stuff like this,但没有任何结果成功。我不确定我从版本中收到的上述消息是否与我的tomcat7不能工作有关,但这是我唯一能想到的尝试并排除故障的方法。

有没有人有过类似的经历?有没有人知道什么可能是错的?当其他人遵循一个很好的指南去做一些“简单”的事情,但它仍然不起作用的时候,他们会感到悲伤吗?

顺便提一句,我已经通过Tomcat7文件成功地在本地Windows7机器上安装了.exe,它工作得非常好。我试图在本地开发,然后使用我的Amazon服务,但似乎我必须先解决这个问题。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-08-06 06:43:06

我可以确认你面临的问题。但是,我使用Oracle JDK使它工作得很好。我遵循了以下步骤:

从ami-d13845e1创建一个实例。

删除现有的OpenJDK:yum -y remove java-1.7.0-openjdk

下载和安装Oracle:http://download.oracle.com/otn-pub/java/jdk/7u65-b17/jdk-7u65-linux-x64.rpm

注意:下载Oracle本身是痛苦的。使用Linux wget命令下载它并不有趣。Oracle强迫您接受这些条款和条件。所以想出你自己下载那个文件的方法。

安装了Oracle:rpm -ivh jdk-7u65-linux-x64.rpm

验证了java版本:

代码语言:javascript
运行
复制
# java -version
java version "1.7.0_65"
Java(TM) SE Runtime Environment (build 1.7.0_65-b17)
Java HotSpot(TM) 64-Bit Server VM (build 24.65-b04, mixed mode)

签入上面写着“HotSpot”的输出..。

一旦完成,我就从源代码中安装tomcat (http://www.trieuvan.com/apache/tomcat/tomcat-7/v7.0.55/bin/apache-tomcat-7.0.55.tar.gz)。

顺便说一下,我总是用netstat -anp | grep 8080而不是user -v -n tcp 8080

底线是,I resolved this issue by removing OpenJDK and installing Oracle JDK.,这是本质。

如果您需要从源安装tomcat的步骤,那么请告诉我。

编辑:根据请求,下面是从源代码安装Tomcat的步骤:

下载Tomcat并将其移动到/usr/share/

代码语言:javascript
运行
复制
# wget http://www.trieuvan.com/apache/tomcat/tomcat-7/v7.0.55/bin/apache-tomcat-7.0.55.tar.gz
# tar -xvzf apache-tomcat-7.0.55.tar.gz
# mv apache-tomcat-7.0.55 /usr/share/

创建/etc/init.d/tomcat脚本如下:

代码语言:javascript
运行
复制
#!/bin/bash
# description: Tomcat Start Stop Restart
# processname: tomcat
# chkconfig: 234 20 80
JAVA_HOME=/usr/java/default/
export JAVA_HOME
PATH=$JAVA_HOME/bin:$PATH
export PATH
CATALINA_HOME=/usr/share/apache-tomcat-7.0.55

case $1 in
start)
sh $CATALINA_HOME/bin/startup.sh
;;
stop)
sh $CATALINA_HOME/bin/shutdown.sh
;;
restart)
sh $CATALINA_HOME/bin/shutdown.sh
sh $CATALINA_HOME/bin/startup.sh
;;
esac
exit 0

运行以下命令(这些命令应该是不言自明的):

代码语言:javascript
运行
复制
# chmod 755 /etc/init.d/tomcat
# chkconfig  --add tomcat
# chkconfig  tomcat on
# chkconfig  --list tomcat

为了避免不必要的麻烦,我通常暂时停止iptables:

代码语言:javascript
运行
复制
# service iptables stop

启动Tomcat:

代码语言:javascript
运行
复制
# service tomcat start

确保tomcat运行:

代码语言:javascript
运行
复制
# netstat -anp | grep 8080
tcp        0      0 :::8080                     :::*                        LISTEN      1704/java

就这样!!

安装tomcat有多种方法。在安装和运行tomcat作为服务时,我总是遵循这种方法。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25149329

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档