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的用户