`

Centos开机启动tomcat

 
阅读更多

程序自启动脚本实质上就是一个shell脚本。以简单的Tomcat自启动脚本为例,Tomcat使用安装目录下的startup.sh启动、shutdown.sh停止,我们可以把它们写到一个启动脚本里。Tomcat和JDK的安装可看前面的这篇文章:http://www.live-in.org/archives/891.html

建立自启动脚本:

vim /etc/init.d/tomcat

输入如下内容:

#!/bin/bash
#
# tomcat startup script for the Tomcat server
#
# chkconfig: 345 80 20
# description: start the tomcat deamon
#
# Source function library
. /etc/rc.d/init.d/functions

prog=tomcat
JAVA_HOME=/usr/java/jdk1.6.0_27
export JAVA_HOME
CATALANA_HOME=/usr/local/tomcat
export CATALINA_HOME

case "$1" in
start)
    echo "Starting Tomcat..."
    $CATALANA_HOME/bin/startup.sh
    ;;

stop)
    echo "Stopping Tomcat..."
    $CATALANA_HOME/bin/shutdown.sh
    ;;

restart)
    echo "Stopping Tomcat..."
    $CATALANA_HOME/bin/shutdown.sh
    sleep 2
    echo
    echo "Starting Tomcat..."
    $CATALANA_HOME/bin/startup.sh
    ;;

*)
    echo "Usage: $prog {start|stop|restart}"
    ;;
esac
exit 0
 

说明:
这里的启动脚本可以把它分为3个部分,第一部分是申明启动脚本和注释,第二部分是定义路径的变量,第三部分是一个case...in条件选择结构。

第一部分
1)因为是个shell脚本,所以开始必须要有#!/bin/bash这一行,这里表示使用的shell是bash。
2)# chkconfig: 345 80 20是让chkconfig命令能够识别这个启动脚本,必须要有,其余带#的都是注释说明。
3). /etc/rc.d/init.d/functions是在当前shell下执行functions这个文件,而不是在子shell中执行。它类似于库函数,后面的启动脚本可能会调用functions内的基础函数。

第二部分
1)从prog=tomcat开始,设定了3个变量,使用prog定义脚本名称,JAVA_HOME定义JDK安装目录,CATALANA_HOME定义tomcat安装目录。
2)export命令是使定义的变量在子shell中也可以使用。

第三部分
1)第三部分是一个case条件选择结构,语法结构如下:

case 字符串 in
  值1 )
    操作 ;;
  值2 )
    操作 ;;
  值3 )
    操作 ;;
  ...
  *)
    操作 ;;
esac

2)$1是一个位置参数,位置参数是一种在调用shell程序的命令行中按照各自的位置决定的变量,是在程序名之后输入的参数。位置参数之间用空格分隔,shell取第一个位置参数替换程序文件中的$1,第二个替换$2,依次类推。
3)$CATALANA_HOME/bin/startup.sh表示启动tomcat。
4)$CATALANA_HOME/bin/shutdown.sh表示停止tomcat。
5)sleep 2 表示休眠2秒。
6)exit 0 表示退出。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics