Linux下使用jsvc将Tomcat作为服务进程运行

Running Tomcat 5.5 as Linux Daemon

在下载的Tomcat包中就直接带了jsvc的源代码,可以很简单的自己构建一下。假设Tomcat被解压在$CATALINA_HOME目录下,按照下面的命令进行构建jsvc

cd $CATALINA_HOME/bin
tar xvfz jsvc.tar.gz
cd jsvc-src
autoconf
./configure
make
cp jsvc ..
cd ..

在$CATALINA_HOME/bin目录下就可以看到一个jsvc可运行文件。接下来配置service脚本。
以root身份创建/etc/init.d/TomCatJsvc脚本,写入如下内容:

JAVA_HOME='/home/tomcat/jdk1.5.0_06'

CATALINA_HOME='/home/tomcat/apache-tomcat-5.5.16'

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

TOMCAT_USER=tomcat
TMPDIR=/var/tmp


RC=0

case "$1" in

start)

$CATALINA_HOME/bin/jsvc \

-user $TOMCAT_USER \
-home $JAVA_HOME \
-Dcatalina.home=$CATALINA_HOME \

-Djava.io.tmpdir=$TMPDIR \
-Djava.awt.headless=true \

-outfile $CATALINA_HOME/logs/catalina.out \
-errfile $CATALINA_HOME/logs/catalina.err \

-cp $CLASSPATH \
org.apache.catalina.startup.Bootstrap

RC=$?

[ $RC = 0 ] && touch /var/lock/subsys/tomcat

;;

stop)

PID=`cat /var/run/jsvc.pid`

kill $PID

RC=$?

[ $RC = 0 ] && rm -f /var/lock/subsys/tomcat /var/run/jsvc.pid

;;

*)
echo "Usage: $0 {start|stop}"
exit 1

esac
exit $RC



使用root身份运行此服务
# /etc/init.d/TomCatJsvc start

可以使用
ps -ef|grep tomcat
确认此服务是否运行,另外可以通过浏览器访问,察看此服务是否已经运行。

0 Responses to "Linux下使用jsvc将Tomcat作为服务进程运行"