tomcat安装FAQ

来源:互联网 发布:8051单片机基本特点 编辑:程序博客网 时间:2024/04/28 19:34

http://duanyong.iteye.com/blog/409591

今天在给电脑配环境,安装httpd、tomcat、orcale、 pl/sql client。到tomcat的时候,出问题了。

 

    环境:amd 64  jdk 64

    在此之前,安装的是JRE 32位的。运行

Shell代码  收藏代码
  1. startup.sh  

    只会显示:

Shell代码  收藏代码
  1. Using CATALINA_BASE:   /usr/local/apache-tomcat-6.0.20  
  2. Using CATALINA_HOME:   /usr/local/apache-tomcat-6.0.20  
  3. Using CATALINA_TMPDIR: /usr/local/apache-tomcat-6.0.20/temp  
  4. Using JRE_HOME:       /usr/lib/jvm/jdk1.6.0_13  

    没有其它任何信息,用

Shell代码  收藏代码
  1. netstat -lnpt  
  2.   
  3.   
  4. Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name  
  5. tcp        0      0 0.0.0.0:15398           0.0.0.0:*               LISTEN      3814/qq          
  6. tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      -                
  7. tcp6       0      0 :::81                   :::*                    LISTEN      -     

    从列表中找不到8080端口被绑定。网上大堆的说法,找到一个消息说64位系统安装64位JDK,我又把32位JRE替换为64位JDK。

再次运行

Shell代码  收藏代码
  1. startup.sh  

    这次多了一个消息说 $CATALINA_HOME没有logs/catalina.out日志文件,好吧。我

Shell代码  收藏代码
  1. mkdir $CATALINA_HOME/logs/catalina.out  
Shell代码  收藏代码
  1. 再次运行  startup.sh  

     提示

Shell代码  收藏代码
  1. Using CATALINA_BASE:   /usr/local/apache-tomcat-6.0.20  
  2. Using CATALINA_HOME:   /usr/local/apache-tomcat-6.0.20  
  3. Using CATALINA_TMPDIR: /usr/local/apache-tomcat-6.0.20/temp  
  4. Using JRE_HOME:       /usr/lib/jvm/jdk1.6.0_13  
 

    这样的提示信息,但端口却没被监听,看日志显示:

Shell代码  收藏代码
  1. Caused by: java.lang.ClassNotFoundException: org.apache.catalina.startup.Bootstrap  
  2.     at java.net.URLClassLoader$1.run(URLClassLoader.java:200)  
  3.     at java.security.AccessController.doPrivileged(Native Method)  
  4.     at java.net.URLClassLoader.findClass(URLClassLoader.java:188)  
  5.     at java.lang.ClassLoader.loadClass(ClassLoader.java:307)  
  6.     at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)  
  7.     at java.lang.ClassLoader.loadClass(ClassLoader.java:252)  
  8.     at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)  
  9. Could not find the main class: org.apache.catalina.startup.Bootstrap.  Program will exit.  

    有日志就好办。我问朋友,朋友说这是低级的java配置问题,自己解决。我一看我的~/.bashrc文件有

Shell代码  收藏代码
  1. export JAVA_HOME=/usr/lib/jvm/jdk1.6.0_13  
  2. export PATH=$PATH:$JAVA_HOME/bin  
  3. export CLASSPATH=.:$JAVA_HOME/lib/  

    难道是这个被我用过千万次的export语句有问题(这个配置基本没有用过,很少手动编译java代码,关键把classpath配置正确即可),为了确保正确,用vi写了个Test类,javac编译并用java执行,打印"Hello",正确。

    再次回过头来看tomcat目录下的内容,没什么问题。google之,在网上碰见有兄弟和我一样的问题,说tomcat下载时解压后bin文件只有.sh和.bat文件,却少了某些重要jar包。

找到问题所在就好,多次从官网 重新下载了tar.gz包(同时包括"apache-tomcat-6.0.20-src.zip "和"apache-tomcat-6.0.20-deployer.zip "),解压后tomcat目录都没有,后来无意在另外一个网址 下载了apache-tomcat-6.0.18.tar.gz ,再次解压查看bin目录,发觉文件多了,有网上说的bootstarp.jar等几个重要的文件。

Shell代码  收藏代码
  1. 再次执行  startup.sh  
  2. 查看端口 netstat -lnpt  

发觉8080端口被tomcat监听,正确。

 

总结下来:

    1、正确的tomcat 2.X 下载URL地址是:http://labs.xiaonei.com:8081/apache-mirror/tomcat/tomcat-6/v6.0.20/bin/ ,而非tomcat网站提供的:http://tomcat.apache.org/download-60.cgi?Preferred=http%3A%2F%2Flabs.xiaonei.com%2Fapache-mirror。


原创粉丝点击