日期:2014-05-16  浏览次数:20809 次

linux下tomcat开机自启动

方法一:

修改Tomcat/bin/startup.sh 为:

export JAVA_HOME=/home/java1.6.0_27
export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:.
export PATH=$JAVA_HOME/bin:$PATH
export CATALINA_HOME=/home/tomcat
/home/tomcat/bin/catalina.sh start

在/etc/rc.d/rc.local中加入:

/home/tomcat/bin/startup.sh

方法二:

1、把下面的代码保存为tomcat文件,并让它成为可执行文件 chmod 755 tomcat.

#!/bin/bash
#
# /etc/rc.d/init.d/tomcat
# init script for tomcat precesses
#
# processname: tomcat
# description: tomcat is a j2ee server
# chkconfig: 2345 86 16
# description:  Start up the Tomcat servlet engine.

if [ -f /etc/init.d/functions ]; then
        . /etc/init.d/functions
elif [ -f /etc/rc.d/init.d/functions ]; then
        . /etc/rc.d/init.d/functions
else
        echo -e "\atomcat: unable to locate functions lib. Cannot continue."
        exit -1
fi

RETVAL=$?
CATALINA_HOME="/home/tomcat"

case "$1" in
start)
        if [ -f $CATALINA_HOME/bin/startup.sh ];
          then
            echo $"Starting Tomcat"
            $CATALINA_HOME/bin/startup.sh
        fi
        ;;
stop)
        if [ -f $CATALINA_HOME/bin/shutdown.sh ];
          then
            echo $"Stopping Tomcat"
            $CATALINA_HOME/bin/shutdown.sh
        fi
        ;;
*)
        echo $"Usage: $0 {start|stop}"
        exit 1
        ;;
esac

exit $RETVAL

?

2、将tomcat文件拷贝到/etc/init.d/下,并运行:chkconfig --add tomcat

?

3、在tomcat/bin/catalina.sh文件中的前面加入以下语句:

export JAVA_HOME=/home/jdk1.6.0_27
export CATALINA_HOME=/home/tomcat
export CATALINA_BASE=/home/tomcat
export CATALINA_TMPDIR=/home/tomcat/temp

测试tomcat能不能启动 启动tomcat: service tomcat start

测试tomcat能不能停止 停止tomcat: ?service tomcat stop

?

启动方式中该服务是启动 #chkconfig tomcat on  

#chkconfig --list tomcat

?

至此,即完成自启动脚本

?

注意:

在tomcat文件的头两行的注释语句中,需要包含chkconfig和description两部分内容(确认不要拼写错误,),否则在执行“chkconfig --add tomcat”时,会出现“tomcat服务不支持chkconfig”的错误提示。

chkconfig这行表示缺省启动的运行级别以及启动和停止的优先级,如该服务缺省不再任何运行级启动,则以 - 代替运行级别。如#chkconfig:345 61 61 //此行的345参数表示,在哪些运行级别启动,345表示tomcat脚本在运行级2、3、4、5启动,启动序号(S61);关闭序号(K61)

?

description行对服务进行描述,可以用 “\” 跨行注释。