linux下JDK和Tomcat的安装

转自: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_HOME JRE_HOME 环境变量, JRE_HOME 默认等于 JDK_HOME 的值,所以在启动服务器前请检查环境变量。

 

4. 延伸

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

       需要自动化的目标:

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

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

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

实现过程:

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

目标 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 下运行,会出现很多奇怪的语法错误,主要是 windows linux 的换行符不一致导致的问题。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值