linux下JDK和Tomcat的安装

来源:互联网 发布:淘宝商家入驻条件费用 编辑:程序博客网 时间:2024/05/16 10:33

转自:http://blog.163.com/haizai219@126/blog/static/44412555200962751636461/

 

inux下JDK和Tomcat的安装

Tomcat 2009-07-27 17:16:36 阅读503 评论0 字号:

1. 参考:

l         Tomcat 6.0 自带的文档。

l         Linux设置环境变量小结

l         Vi编辑器的基使用方法

l         Shell 编程 一些条件判断

l         Bash编程基础

2. 目的:

       以下详细描述linux下JDK和Tomcat的安装过程,仅作为备忘录。

3. 备忘录:

先决条件:

l         下载Tomcat 6.0.20(当前最新版本),选择格式为打包压缩的linux版本apache-tomcat-6.0.20.tar.gz

l         下载JDK6.0(当前最新版本,http://www.sun.com/已经关闭,http://java.sun.com/还可以访问),下载JDK6 uapdate 14 jdk-6u14-linux-i586.bin

安装过程:

Step1,安装JDK,将文件 jdk-6u14-linux-i586.bin解压到目录/opt/server/目录下。

       #cd /opt/server/

# sh  jdk-6u14-linux-i586.bin

根据提示安装jdk。安装完后会在/opt/server/下产生目录jdk1.6.0_14

Step2,设置环境变量。

       修改文件/ect/profile,在最上面添加如下信息:

JAVA_HOME=/opt/server/jdk1.6.0_14

JRE_HOME=$JAVA_HOME/jre

PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin

CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib

export JAVA_HOME JRE_HOME PATH CLASSPATH

 

Step3,检测JDK是否安装成功。使用如下命令检测是否成功。

#java -version

java version "1.6.0_14"

Java(TM) SE Runtime Environment (build 1.6.0_14-b33)

Java HotSpot(TM) Client VM (build 11.0-b15, mixed mode, sharing)

看到类似以上蓝色信息,则表示JDK安装配置成功。

Step4,安装Tomcat,将Tomcat文件apache-tomcat-6.0.20.tar.gz解压到/opt/server/目录下。

       #cd /opt/server/

# tar –zxvf apache-tomcat-6.0.20.tar.gz

安装完后会在/opt/server/下产生目录apache-tomcat-6.0.20

Step5,检测Tomcat是否安装成功。启动服务器,

       #cd /opt/server/apache-tomcat-6.0.20/bin

# sh startup.sh

访问http://localhost:8080/。若能够看见可爱的tom猫,则表示成功。

 

注:Tomcat的运行需要配置JDK_HOMEJRE_HOME环境变量,JRE_HOME默认等于JDK_HOME的值,所以在启动服务器前请检查环境变量。

 

4. 延伸

       由上面的安装配置过程,我们发现该过程对于项目实施人员的要求很高,需要掌握的知识很多(javatomcat服务器,linuxshell编程)。希望通过shell编程来自动化这个过程(只实现了一部分)。

       需要自动化的目标:

       1.自动安装JDKTomcat到指定目录。

       2.无需手动的配置环境变量。

       3.希望使用一个命令来管理服务器。

实现过程:

目标1:需要shell编程来实现,预留外部参数,指定JDKTomcat的源文件路径和安装路径。(没有实现)。

目标2:编写shell脚本,将JDK的安装目录通过参数传递给脚本,然后在脚本中动态设置JAVA_HOME的环境变量。当脚本没有接收到JDK参数时,则猜测JDK的安装目录,算法为:查找Tomcat安装目录的父目录下是否有jdk1.6.0_14目录,该目录值可以通过修改变量jdk_name的值来改变

目标3:通过shell脚本,将管理服务的命令集成为一个脚本命令,通过传递给脚本的参数区分不同的请求命令,然后调用相应的脚本。

脚本:tomcat.sh

#!/bin/sh

#----------------------------------------------------------------------------------------------------------

# @author : dinstone

# @time : 2009-7-27 14:23:35

#----------------------------------------------------------------------------------------------------------

 

PRG="$0"

# parsing the current command path

while [ -h "$PRG" ] ; do

  ls=`ls -ld "$PRG"`

  link=`expr "$ls" : '.*-> /(.*/)$'`

  if expr "$link" : '/.*' > /dev/null; then

    PRG="$link"

  else

    PRG=`dirname "$PRG"`/"$link"

  fi

done

# get the command path

PRGDIR=`dirname "$PRG"`

# PRGDIR maybe ../apache-tomcat-6.0.20/bin

 

# get the tomcat home path

tomcat_dir=`cd "$PRGDIR/.." ; pwd`

top_dir=`cd "$tomcat_dir/.."; pwd`

 

# set the default jdk directory name

jdk_name="jdk1.6.0_14"

# get the default jdk path

jdk_dir="$top_dir/$jdk_name"

# parse the parameter $2,set the jdk path,if $2 is not empty.

if [ -n "$2" ]; then

  jdk_dir="$2"

fi

 

# confirm that the jdk path is effective and set the JAVA_HOME environment variable

if [ -d "$jdk_dir" ]; then

  export JAVA_HOME="$jdk_dir"

  export JRE_HOME="$JAVA_HOME/jre"

  #echo "JRE_HOME is $JRE_HOME"

else

  echo "The JAVA_HOME environment variable is error,this environment variable is needed to run this program.JAVA_HOME=$jdk_dir."

  echo "The application will exit."

  exit 1

fi

 

# handle the request:start,stop,restart,version

case "$1" in

  start)

    echo -n $"Tomcat server is starting: "

    "$PRGDIR"/startup.sh  >/dev/null

    RETVAL=$?

    if [ $RETVAL -eq 0 ] ; then

        echo "Tomcat server has been started."

    else

        echo "Tomcat server failed to start."

    fi

    echo

       ;;

 

  stop)

    echo -n $"Tomcat server is stopping: "

    "$PRGDIR"/shutdown.sh >/dev/null

    RETVAL=$?

    if [ $RETVAL -eq 0 ] ; then

       echo "Tomcat server has been stopped."

    else

       echo "Tomcat server failed to stop."

    fi

    echo

       ;;

 

  version)

    "$PRGDIR"/version.sh

       ;;

 

  restart|reload)

    $0 stop

    $0 start

       ;;

 

  *)

    echo $"Usage: $0 {start|stop|restart|version}"      

    echo " start      Start server"

    echo " stop       Stop server"

    echo " restart    Restart server"

    echo " version    What version of tomcat are you running?"   

exit 1

esac

 

将脚本tomcat.sh放到/opt/server/apache-tomcat-6.0.20/bin/目录下。

测试:

#cd /opt

#sh /opt/server/apache-tomcat-6.0.20/bin/tomcat.sh     

Usage: /opt/server/apache-tomcat-6.0.20/bin/tomcat.sh {start|stop|restart|version}

 start      Start server

 stop       Stop server

 restart    Restart server

 version    What version of tomcat are you running?

#sh /opt/server/apache-tomcat-6.0.20/bin/tomcat.sh start

Tomcat server is starting: Tomcat server has been started.

 

#sh /opt/server/apache-tomcat-6.0.20/bin/tomcat.sh stop

Tomcat server is stopping: Tomcat server has been stopped.

 

#sh /opt/server/apache-tomcat-6.0.20/bin/tomcat.sh version

Using CATALINA_BASE:   /opt/server/apache-tomcat-6.0.20

Using CATALINA_HOME:   /opt/server/apache-tomcat-6.0.20

Using CATALINA_TMPDIR: /opt/server/apache-tomcat-6.0.20/temp

Using JRE_HOME:       /opt/server/jdk1.6.0_14/jre

Server version: Apache Tomcat/6.0.20

Server built:   May 14 2009 01:13:50

Server number:  6.0.20.0

OS Name:        Linux

OS Version:     2.6.18-8.el5

Architecture:   i386

JVM Version:    1.6.0_14-b08

JVM Vendor:     Sun Microsystems Inc.

 

 

注意:tomcat.sh脚本需要在linux下编辑完成,可以使用VI来编辑。而在Windows下编辑,在linux下运行,会出现很多奇怪的语法错误,主要是windowslinux的换行符不一致导致的问题。

原创粉丝点击