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

REDHAT5下 Tomcat6使用jsvc 自启动
1、安装jdk和tomcat6
2、编译安装 jsvc
cd $CATALINA_HOME/bin
tar zxvf jsvc.tar.gz
cd jsvc-src
chmod +x configure
./configure --with-java=/usr/local/jdk
make
3、创建 tomcat 启动脚本
vi /etc/init.d/tomcat,需要root,内容如下
#!/bin/sh
# Startup Script for Tomcat6
# description: Tomcat Daemon
# processname: jsvc
# pidfile: /var/run/jsvc.pid

. /etc/rc.d/init.d/functions 
export JAVA_HOME=/usr/local/jdk
export CATALINA_HOME=/usr/local/apache-tomcat-6.0.24

DAEMON_HOME=$CATALINA_HOME/bin
#此处换成你的tomcat用户
TOMCAT_USER=web

# for multi instances adapt those lines.
TMP_DIR=/var/tmp
PID_FILE=/var/run/jsvc.pid
CATALINA_BASE=$CATALINA_HOME

CATALINA_OPTS=
CLASSPATH=\
$JAVA_HOME/lib/tools.jar:\
$CATALINA_HOME/bin/commons-daemon.jar:\
$CATALINA_HOME/bin/bootstrap.jar

case "$1" in
  start)
    #
    # Start Tomcat
    #
    $DAEMON_HOME/jsvc-src/jsvc \
    -user $TOMCAT_USER \
    -home $JAVA_HOME \
    -Dcatalina.home=$CATALINA_HOME \
    -Dcatalina.base=$CATALINA_BASE \
    -Djava.io.tmpdir=$TMP_DIR \
    -wait 10 \
    -pidfile $PID_FILE \
    -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 \
    exit $?
    ;;

  stop)
    #
    # Stop Tomcat
    #
    $DAEMON_HOME/jsvc-src/jsvc \
    -stop \
    -pidfile $PID_FILE \
    org.apache.catalina.startup.Bootstrap
    exit $?
    ;;

  *)
    echo "Usage tomcat.sh start/stop"
    exit 1;;
esac


然后, chmod +x tomcat

4. 以服务启动,需要 root
chkconfig --add tomcat
检测 chkconfig --list

5、启动tomcat
service tomcat start

6、注意:
默认情况下,在未部署任何应用的tomcat可以正常启动,并且访问正常。
在给tomcat增加虚拟目录后需要注意linux的权限问题,例如:配置的虚拟目录和tomcat安装目录本身最好是同一个用户,即启动tomcat的用户