在Linux下使Tomcat自动加入到系统启动中 ZT

 

第一种方式:

 

Tomcat启动可以用自带的确jsvc来实现:

jsvc本来要从 http://jakarta.apache.org 下载 commons-daemon-1.0-Alpha ,不过tomcat 已经自己带了一个了,在tomcat/bin目录下有一个jsvc.tar.gz 解压,编译:

#tar -xzvf jsvc.tar.gz

#cd jsvc-src


运行

#sh support/buildconf.sh

#./configure --with-java=/usr/java

#make

(注意:tomcat-5.0.18版本带的jsvc源代码有一个低级错误--少一个分号,会导致编译不成功,可以自己加上这个分号)

tomcat自己带的jsvc-src/native目录下还有两个脚本 Tomcat.sh 和 Tomcat5.sh ,可以用作启动和停止tomcat的脚本,我把Tomcat5.sh略作修改,文件如下:


代码:
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
#!/bin/sh
#
# Startup Script for Tomcat5
#
# chkconfig: 345 87 13
# description: Tomcat Daemon
# processname: jsvc
# pidfile: /var/run/jsvc.pid
# config:
#
# Source function library.
. /etc/rc.d/init.d/functions
#
prog=tomcat
#
# Small shell script to show how to start/stop Tomcat using jsvc
# If you want to have Tomcat running on port 80 please modify the server.xml
# file:
#
#   
#    #               port="80" minProcessors="5" maxProcessors="75"
#               enableLookups="true" redirectPort="8443"
#               acceptCount="10" debug="0" connectionTimeout="60000"/>
#
# You need a developement version of Tomcat (Apache Tomcat/4.1-dev)
#
# Adapt the following lines to your configuration

#设定自己的参数
JAVA_HOME=/usr/local/j2sdk1.4.2-04
CATALINA_HOME=/usr/local/jakarta-tomcat-5.0.19
DAEMON_HOME=$CATALINA_HOME/bin

#需要在系统中设定一个没有权限的
#用户来运行,这样比较安全
TOMCAT_USER=tomcat5
TMP_DIR=/var/tmp
CATALINA_OPTS=
CLASSPATH=\
$JAVA_HOME/lib/tools.jar:\
$CATALINA_HOME/bin/commons-daemon.jar:\
$CATALINA_HOME/bin/bootstrap.jar

start(){
    echo -n $"Starting $prog: "
    #
    # Start Tomcat
    #
    $DAEMON_HOME/jsvc-src/jsvc \
    -user $TOMCAT_USER \
    -home $JAVA_HOME \
    -Dcatalina.home=$CATALINA_HOME \
    -Djava.io.tmpdir=$TMP_DIR \
    -outfile $CATALINA_HOME/logs/catalina.out \
    -errfile '&1' \
    $CATALINA_OPTS \
    -cp $CLASSPATH \
    org.apache.catalina.startup.Bootstrap
    #
    # To get a verbose JVM
    #-verbose \
    # To get a debug of jsvc.
    #-debug \
    RETVAL=$?
    [ $RETVAL = 0 ] && touch /var/lock/subsys/jsvc
    [ $RETVAL = 0 ] && echo_success || echo_failure
    echo
    return $RETVAL
}
stop(){
    echo -n $"Stopping $prog: "
    #
    # Stop Tomcat
    #
    PID=`cat /var/run/jsvc.pid`
    kill $PID
    RETVAL=$?
    [ $RETVAL = 0 ] && rm /var/lock/subsys/jsvc
    [ $RETVAL = 0 ] && echo_success || echo_failure
    echo
    return $RETVAL
}

case "$1" in
  start)
        start
    ;;

  stop)
        stop
    ;;

  restart|reload)
        stop
        start
    ;;

  *)
    echo "Usage $0 start/stop"
    exit 1;;
esac

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

把这段代码保存为 /etc/rc.d/init.d/tomcat ,然后运行

#chkconfig --add tomcat

用--list看一下是否系统已有tomcat启动文件
#ckhconfig --list

即可把tomcat 添加为系统服务自动随系统启动了。这个脚本会在runlevel 3/4/5三种模式自动启动。注意这段脚本是为tomcat5创建的,如果你用tomcat4,则需要在另一个tomcat.sh的基础上修改。

 

第二种方式:

 

# !/bin/bash
# whoami
# root
# chkconfig: 345 51 49
# description: starts the tomcat deamons
#
JAVA_HOME=/usr/java/jdk1.5.0_14
export JAVA_HOME
CATALINA_HOME=/opt/tomcat
export CATALINA_HOME
case "$1" in
start)
echo "Starting Tomcat ..."
sleep 2
$CATALINA_HOME/bin/startup.sh
;;
stop)
echo "Stop Tomcat ..."
sleep 2
$CATALINA_HOME/bin/shutdown.sh
;;
restart)
echo "restarting tomcat"
$0 stop
$0 start
;;
*)
echo "Usage: $1 {start|stop}"
;;
esac
exit 0
保存添加可执行
chmod a+x /etc/rc.d/init.d/tomcatd
加入启动项
chkconfig --add tomcatd
chkconfig --list tomcatd
查看一下
这样就可以了 reboot linux

阅读更多
个人分类: 技术
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭