对于需要在Linux系统上部署JSP,Servlet的Web应用服务器的人来说,将Tomcat安装为系统的服务(Service)是一个很常见的任务,这篇文章给大家一个详细的安装步骤,我们选择的系统和软件版本为:CentOS5.1(RHEL5也是一样的), Tomcat6.0.16。具体安装步骤如下:
一,到Apache下载 Tomcat6.0.16(http://apache.mirror.phpchina.com/tomcat/tomcat-6/v6.0.16 /bin/apache-tomcat-6.0.16.tar.gz)。
二,解压缩Tomcat文件到/opt目录下(需要root用户权限)
#tar xvzf apache-tomcat-6.0.16.tar.gz
确认你的目录为/opt/apache-tomcat-6.0.16
三,测试你的tomcat是不是能够正常运行(确保JAVA_HOME环境变量设置过)
启动
#/opt/apache-tomcat-6.0.16/start.sh
停止
#/opt /apache-tomcat-6.0.16/shutdown.sh
四,将Tomcat部署为系统的服务(以jsvc方式运行)
1,解压缩jsvc包(/opt/apache-tomcat-6.0.16/bin/jsvc.tar.gz)
#tar xvzf jsvc.tar.gz
2,编译jsvc,并测试(假设jdk的安装路径:/usr/java/jdk1.6.0_06)
#cd /opt/apache-tomcat-6.0.16/bin/jsvc-src
#chmod +x configure
#.configure<wbr></wbr> --with-java=/usr/java/jdk1.6.0_06
#.make
#cp jsvc<wbr></wbr> ../
#cp /opt/apache-tomcat-6.0.16/bin/jsvc-src/native/Tomcat5.sh<wbr></wbr> /etc/init.d/tomcat
编辑刚copy的tomcat文件
#vi /etc/init.d/tomcat<wbr></wbr><wbr></wbr><wbr></wbr>
编辑完成后的内容如下:
#!/bin/sh
#
# Startup Script for Tomcat6
#
# chkconfig: - 88 14
# description: Tomcat Daemon
# processname: jsvc
# pidfile: /var/run/jsvc.pid
# config:
#
# Source function library.
. /etc/rc.d/init.d/functions
#
# Adapt the following lines to your configuration
JAVA_HOME=/usr/java/jdk1.6.0_06
CATALINA_HOME=/opt/apache-tomcat-6.0.16
DAEMON_HOME=$CATALINA_HOME/bin
TOMCAT_USER=tomcat
# for multi instances adapt those lines.
TMP_DIR=$CATALINA_HOME/temp
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
start(){
echo starting tomcat ...
$DAEMON_HOME/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
}
stop(){
echo stopping tomcat ...
$DAEMON_HOME/jsvc \
<wbr></wbr><wbr></wbr><wbr></wbr> -stop \
<wbr></wbr><wbr></wbr><wbr></wbr> -pidfile $PID_FILE \
<wbr></wbr><wbr></wbr><wbr></wbr> org.apache.catalina.startup.Bootstrap
}
status() {
<wbr></wbr><wbr></wbr><wbr></wbr> ps ax --width=1000 | grep "[o]rg.apache.catalina.startup.Bootstrap" | awk '{printf $1 " "}' | wc | awk '{print $2}' >/tmp/tomcat_process_count.txt
<wbr></wbr><wbr></wbr><wbr></wbr> read line < /tmp/tomcat_process_count.txt
<wbr></wbr><wbr></wbr><wbr></wbr> if [ $line -gt 0 ]; then
<wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr> echo -n "tomcat ( pid "
<wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr> ps ax --width=1000 | grep "[o]rg.apache.catalina.startup.Bootstrap" | awk '{printf $1 " "}'
<wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr> echo ") is running..."
<wbr></wbr><wbr></wbr><wbr></wbr> else
<wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr> echo "Tomcat is stopped"
<wbr></wbr><wbr></wbr><wbr></wbr> fi
}
case "$1" in
<wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr> start)
<wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr> # Start Tomcat
<wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr> start
<wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr> exit $?
<wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr> ;;
<wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr> stop)
<wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr> # Stop Tomcat
<wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr> stop
<wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr> exit $?
<wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr> ;;
<wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr> restart)
<wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr> stop
<wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr> sleep 3
<wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr> start
<wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr> exit $?
<wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr> ;;
<wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr> status)
<wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr> status
<wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr> exit $?
<wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr> ;;
<wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr> *)
<wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr> echo "Usage: tomcat {start|stop|restart|status}"
<wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr> exit 1
<wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr> ;;
esac
添加执行用户
#useradd tomcat
确保tomcat用户能够访问tomcat的目录
#chown -R tomcat /opt/apache-tomcat-6.0.16
#chgrp -R tomcat /opt/apache-tomcat-6.0.16
#chmod +x /etc/init.d/tomcat
测试是否能启动tomcat
#/etc/init.d/tomcat start
#/etc/init.d/tomcat stop
将tomcat部署成为自动运行的服务
#chkconfig tomcat on
启动服务
#service tomcat start
查询服务状态
#service tomcat status
停止服务
#service tomcat stop