在CentOS 5上安装Tomcat

免责声明:我不是一个服务器pipe理员,我是一个Windows用户,导致了有罪恶的安装向导和拖放的生活

我试图在由MediaTemple专用虚拟服务器托pipe的CentOS 5上安装Tomcat。

我基本上遵循这个指南 :

  1. 安装jpackage并configurationyum.repo.d jpackage文件来设置enabled = 1
  2. 用yum来安装java(yum install java)
  3. 用“wget http://archive.apache.org/dist/tomcat/tomcat-6/v6.0.14/bin/apache-tomcat-6.0.14.tar.gz ”下载了tomcat的二进制发行版
  4. 将JAVA_HOME设置为指向我在“export JAVA_HOME = / usr / lib / jvm / java-1.6.0-openjdk-1.6.0.0 /”中find的jdk位置
  5. 我gunzip /解开Tomcat文件并运行./startup.sh来启动Tomcat服务器。 这应该把Tomcat服务器放在myserver.com:8080–但是,当我尝试浏览到它时(或者当我尝试从SSH中“curl localhost:8080”),我只是得到一个无法联系到主机错误。 ./startup.sh,这里是控制台输出:

[root @ myserver bin]#./startup.sh

Using CATALINA_BASE: /root/apache-tomcat-6.0.14 Using CATALINA_HOME: /root/apache-tomcat-6.0.14 Using CATALINA_TMPDIR: /root/apache-tomcat-6.0.14/temp Using JRE_HOME: /usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0/ [root@myserver bin]# 

我在这里错过了一个步骤吗?

编辑:我现在通过查看日志中发现以下错误发生:

VM初始化期间发生错误无法为对象堆预留足够的空间

Tomcat6的要求是什么? 什么版本的Centos? (我假设“某种types的Tomcat”和“目前的Centos”在本文中是5.3)

除非需要Tomcat 6,否则不需要jpackage回购。而且,Centos 5.3附带了openjdk 1.6.0,它已经通过了Java SE 6 TCK。

简单地说,“yum install tomcat5”应该包含所有你需要的依赖(包括openjdk),其中很多依赖于jpackage源代码。 一旦安装,你需要的只是“service tomcat5 start”来启动它。 注:以root身份运行您的Web容器非常非常糟糕,因为这是一个巨大的安全风险。 存储库版本安装的tomcat5服务会将其权限放弃到具有更多有限权限的“tomcat”用户。 要在系统引导时自动启动tomcat,请使用“chkconfig tomcat5 on”。

在上面的情况中,端口8080可能被默认的防火墙阻止。 closures防火墙(build议只用于testing连通性,不要在没有防火墙的情况下运行)使用“service iptables stop”。 Centos提供了用于修改防火墙的GUI和文本UI工具(分别为system-config-securitylevel和system-config-securitylevel-tui),或者你可以直接使用iptables(参见man iptables)。

我仔细按照这个指南解决了这个问题:

http://de0ris.blogspot.com/2008/08/installing-tomcat-6x-on-centos-5.html

正如上面的评论中所提到的,JRE和JDK是单独的下载。 我似乎无法在任何包pipe理器中find它们,所以我必须直接下载它们并运行它们。

那么,看起来tomcat正确地启动了,并且错过的典型的东西被覆盖了。 我会检查并看看机器是否有防火墙运行。 我不是Centos的专家,所以如果默认运行一个,我不知道。 作为root做一个:

 netstat -lnp | grep 8080 

如果返回任何东西,你的服务器正在运行并在8080上侦听,但某些东西(防火墙)阻止了对它的访问。

如果没有运行,你还有其他的东西要挖掘。 你应该有一个“catalina.out”文件,无论你有tomcat设置为login。 我记得应该是“/ path / to / tomcat / server / logs”。 检查一下,看看是否抛出任何exception。 可以给出更多的线索,以了解正在发生的事情。

VM初始化期间发生错误无法为对象堆预留足够的空间

没有足够的虚拟内存来启动虚拟机。 也就是说,没有足够的物理内存和交换来容纳您使用-Xms请求的堆方。 当您在虚拟环境中运行时,您需要与Media Temple交谈,了解如何增加可用于您实例的虚拟内存量。

嗯,其基本上你是在开放的VZ VPS,尝试xen或安装它与tomcat自带的JBoss,这将解决内存交换问题。

http://davidanand.blogspot.com/2010/06/jboss-tomcat-on-openvz-centos.html

希望这可以帮助 ;)