在 Linux 系统下安装好了 Java 后,我开始安装 tomcat,因为在今后的 JSP 中我需要用到 tomcat。我从官网上下载到的文件是 apache-tomcat-6.0.20.tar.gz,我把这个文件下载到我的个人目录下,即 /usr/ricen_file。
1)进入文件所在的目录,解压下载到的压缩文件。
[root@RicenOS ricen_file]# tar zxvf apache-tomcat-6.0.20.tar.gz
2)进入解压后得到的 apache-tomcat-6.0.20 目录,发现该目录下有以下文件及其子目录:
[root@RicenOS apache-tomcat-6.0.20]# ls
bin lib logs RELEASE-NOTES temp work
conf LICENSE NOTICE RUNNING.txt webapps
3)发现这里面并没有 setup、install、configure 之类的可执行文件,也就是说到这里就已经可以算是安装完成了。可是,我个人习惯将软件安装在 /usr 目录下,至于 /usr/ricen_file 只是我个人的工作目录。所以,我把 apache-tomcat-6.0.20 这一目录及其下的所有文件和子目录都移至 /usr 目录下,并将目录名更改为 tomcat。
[root@RicenOS ricen_file]# mv apache-tomcat-6.0.20 /usr/tomcat
4)tomcat 安装完后,当然也要像 java 一样进行配置。在进行 java 配置时,动用了一个 /etc/profile 文件,配置 tomcat 也不例外。
在末尾处加入以下两行:
export TOMCAT_HOME
使修改生效:
5)进入 tomcat 下的 bin 目录
[root@RicenOS bin]# ls
bootstrap.jar jsvc.tar.gz tomcat6.exe
catalina.bat service.bat tomcat6w.exe
catalina.sh setclasspath.bat tomcat-juli.jar
catalina-tasks.xml setclasspath.sh tomcat-native.tar.gz
commons-daemon.jar shutdown.bat tool-wrapper.bat
cpappend.bat shutdown.sh tool-wrapper.sh
digest.bat startup.bat version.bat
digest.sh startup.sh version.sh
在这一目录下,有一个 startup.sh 文件和一个 shutdown.sh 文件,这两个都是可执行文件,分别用来启动和停止 tomcat。
6)启动 tomcat
Using CATALINA_BASE: /usr/tomcat
Using CATALINA_HOME: /usr/tomcat
Using CATALINA_TMPDIR: /usr/tomcat/temp
Using JRE_HOME: /usr/java/jdk1.6.0_16
7)在浏览器中输入 http://192.168.1.201:8080/,我的IP是:192.168.1.201。当然,也可以输入:http://127.0.0.1:8080/。此时,会出现 Apache Tomcat 页面,说明 Tomcat 安装并配置成功。
特别补充一下,我在重启机子之后,再次启动 tomcat 时,发现了一个问题:
[root@RicenOS bin]# ./startup.sh
Using CATALINA_BASE: /usr/tomcat
Using CATALINA_HOME: /usr/tomcat
Using CATALINA_TMPDIR: /usr/tomcat/temp
Using JRE_HOME: /usr/java/jre1.6.0_04
咋一看,跟上面第 6 项显示的没什么不同,请仔细看最后一行的:Using JRE_HOME。为此,我专门查看了一下本机安装的 Java。
default jdk1.6.0_16 jre1.6.0_10 latest
发现,根本就没有 /usr/java/jre1.6.0_04 这个目录。幸好我在重启机子之前,在博客上发表了这篇文章,我知道 Using JRE_HOME 真正的应该是:/usr/java/jdk1.6.0_16,为什么重启后会被更改为:/usr/java/jre1.6.0_04,我也不大清楚,可能之前机子上已经安装过 Java 吧。我 export 一下,发现确实如此。
declare -x CLASSPATH="/usr/java/jre1.6.0_04/lib/rt.jar:."
……
declare -x JAVA_HOME="/usr/java/jre1.6.0_04"
declare -x JDK_VERSION="jre1.6.0_04"
……
declare -x PATH="/usr/java/jdk1.6.0_16/bin:/usr/lib/qt-3.3/bin:/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/java/jre1.6.0_04/bin:/root/bin:/usr/java/jre1.6.0_04/bin"
现在要把上面这些都改回来才行,可是到哪里去改?我在 /etc/profile.d 目录下发现了一个 java-profile.sh 文件,很明显是它在搞鬼的啦。我用 vi 查看了一下它的内容,如下:
#!/bin/sh
#java settings
# java licence url:
#http://www.java.com/en/download/license.jsp
#http://www.java.com/zh_CN/download/license.jsp
#http://www.java.com/zh_TW/download/license.jsp
JDK_VERSION=jre1.6.0_04
JAVA_HOME=/usr/java/$JDK_VERSION
CLASSPATH=$JAVA_HOME/lib/rt.jar:.
JAVA_FONTS=/usr/share/fonts:/usr/share/fonts/ttf
PATH=$PATH:$JAVA_HOME/bin
export JDK_VERSION JAVA_HOME CLASSPATH JAVA_FONTS PATH
export LIBXCB_ALLOW_SLOPPY_LOCK=1
接下来要做的就是把这些都更正过来,只要更改以下三处就可以了:
CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/tools.jar
PATH=$JAVA_HOME/bin:$PATH
既然在这里设置了 Java 的环境变量,那么 /etc/profile 文件下的设置就可以删除了。
重启一下机子,再 export 一下看看:
declare -x CLASSPATH=".:/usr/java/jdk1.6.0_16/jre/lib/rt.jar:/usr/java/jdk1.6.0_16/lib/tools.jar"
……
declare -x JAVA_HOME="/usr/java/jdk1.6.0_16"
declare -x JDK_VERSION="jdk1.6.0_16"
……
declare -x PATH="/usr/java/jdk1.6.0_16/bin:/usr/lib/qt-3.3/bin:/usr/kerberos/sbin:/usr/kerberos/bin:/usr/java/jdk1.6.0_16/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin"
一切正常,是真的吗?测试一下就知道了。
先测试 java:
java version "1.6.0_16"
Java(TM) SE Runtime Environment (build 1.6.0_16-b01)
Java HotSpot(TM) Client VM (build 14.2-b01, mixed mode, sharing)
再测试一下 tomcat:
[root@RicenOS bin]# ./startup.sh
Using CATALINA_BASE: /usr/tomcat
Using CATALINA_HOME: /usr/tomcat
Using CATALINA_TMPDIR: /usr/tomcat/temp
Using JRE_HOME: /usr/java/jdk1.6.0_16
这一次的结果跟第一次正常运行时是一致的,如果不放心,也可以在浏览器中输入:http://127.0.0.1:8080/。哈哈,小猫出现了。
Copyright © 2005-2023 by www.ricensoftwares.com.cn All Rights Reserved.