翔子 发表于 2011-5-6 00:30:43

在centos 5上安装tomcat6服务

# yum install yum-priorities

# rpm -Uhv http://apt.sw.be/redhat/el5/en/i386/rpmforge/RPMS/rpmforge-release-0.3.6-1.el5.rf.i386.rpm
# rpm -Uvh http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-4.noarch.rpm

Install the JPackage Project repository.

# cd /etc/yum.repos.d/
# wget http://jpackage.org/jpackage50.repo

Install Java. We just used the openjdk that available via the repositories but if you prefer Sun JDK the download it and install it.

# yum install java

Install the Tomcat 6 RPM’s

# yum install tomcat6 tomcat6-webapps tomcat6-admin-webapps

Finally lets start up the Tomcat 6 service

# service tomcat6 start

Browser to your newly installed Tomcat 6 Server (remember port 8080)

http://localhost:8080

翔子 发表于 2011-5-6 00:45:57

系统和软件版本为:CentOS5.6, Tomcat6.0.32。具体安装步骤如下:

一,到Apache下载 Tomcat6.0.32(http://apache.mirror.phpchina.com/tomcat/tomcat-6/v6.0.32/bin/apache-tomcat-6.0.32.tar.gz)。

二,解压缩Tomcat文件到/xyx目录下
#tar xvzf apache-tomcat-6.0.32.tar.gz
确认你的目录为/xyx/apache-tomcat-6.0.32

三,测试你的tomcat是不是能够正常运行(确保JAVA_HOME环境变量设置过)
启动
#/xyx/apache-tomcat-6.0.32/start.sh
停止
#/xyx/apache-tomcat-6.0.32/shutdown.sh

四,将Tomcat部署为系统的服务(以jsvc方式运行)
1,解压缩jsvc包(/xyx/apache-tomcat-6.0.32/bin/jsvc.tar.gz)
#tar xvzf jsvc.tar.gz

2,编译jsvc,并测试(假设jdk的安装路径:/usr/java/jdk1.6.0_21)
#cd /xyx/apache-tomcat-6.0.32/bin/jsvc-src
#chmod +x configure
#.configure--with-java=/usr/java/jdk1.6.0_21
#.make
#cp jsvc../
#cp /xyx/apache-tomcat-6.0.32/bin/jsvc-src/native/Tomcat5.sh/etc/init.d/tomcat

编辑刚copy的tomcat文件
#vi /etc/init.d/tomcat   
编辑完成后的内容如下:

#!/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=/xyx/apache-tomcat-6.0.32
DAEMON_HOME=$CATALINA_HOME/bin
TOMCAT_USER=tomcat
# for multi instances adapt those lines.
TMP_DIR=$CATALINA_HOME/temp
PID_FILE=/var/run/tomcat.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 \
   -stop \
   -pidfile $PID_FILE \
   org.apache.catalina.startup.Bootstrap
}
status() {
   ps ax --width=1000 | grep "rg.apache.catalina.startup.Bootstrap" | awk '{printf $1 " "}' | wc | awk '{print $2}' >/tmp/tomcat_process_count.txt
   read line < /tmp/tomcat_process_count.txt
   if [ $line -gt 0 ]; then
       echo -n "tomcat ( pid "
       ps ax --width=1000 | grep "rg.apache.catalina.startup.Bootstrap" | awk '{printf $1 " "}'
       echo ") is running..."
   else
       echo "Tomcat is stopped"
   fi
}
case "$1" in
      start)
         # Start Tomcat
         start
         exit $?
         ;;
      stop)
         # Stop Tomcat
         stop
         exit $?
         ;;
      restart)
         stop
         sleep 3
         start
         exit $?
         ;;
      status)
         status
         exit $?
         ;;
      *)
      echo "Usage: tomcat {start|stop|restart|status}"
      exit 1
      ;;
esac

添加执行用户
#useradd tomcat
确保tomcat用户能够访问tomcat的目录
#chown -R tomcat /xyx/apache-tomcat-6.0.32
#chgrp -R tomcat /xyx/apache-tomcat-6.0.32
#chmod +x /etc/rc.dd/init.d/tomcat
测试是否能启动tomcat
#/etc/rc.d/init.d/tomcat start
#/etc/rc.d/init.d/tomcat stop

将tomcat部署成为自动运行的服务
#chkconfig tomcat on
启动服务
#service tomcat start
查询服务状态
#service tomcat status
停止服务
#service tomcat stop

翔子 发表于 2011-5-7 00:40:15

tomcat6服务脚本(jsvc)

#!/bin/sh
#
# Startup script for Tomcat, the Apache Servlet Engine
#
# chkconfig: 345 80 20
# description: Tomcat is the Apache Servlet Engine
# processname: tomcat
# pidfile: /var/run/tomcat.pid
#
# Mike Millson <*******@meritonlinesystems.com>
#
# version 1.02 - Clear work directory on shutdown per John Turner suggestion.
# version 1.01 - Cross between Red Hat Tomcat RPM and Chris Bush scripts

TOMCAT_PROG=tomcat
JAVA_HOME='/usr/java/jdk1.5.0_06'
CATALINA_HOME='/home/tomcat/'
DAEMON_HOME=$CATALINA_HOME/bin/jsvc
TMP_DIR=/var/tmp
CATALINA_OPTS=
CLASSPATH=\
$JAVA_HOME/lib/tools.jar:\
$CATALINA_HOME/bin/commons-daemon.jar:\
$CATALINA_HOME/bin/bootstrap.jar

# if TOMCAT_USER is not set, use tomcat like Apache HTTP server
if [ -z "$TOMCAT_USER" ]; then
TOMCAT_USER="tomcat"
fi

RETVAL=0

# start and stop functions
start() {
    echo -n "Starting tomcat: "
    chown -R $TOMCAT_USER:$TOMCAT_USER /home/tomcat/*
    $DAEMON_HOME \
    -user $TOMCAT_USER \
    -home $JAVA_HOME \
    -Dcatalina.home=$CATALINA_HOME \
    -Djava.io.tmpdir=$TMP_DIR \
    -Djava.awt.headless=true \
    -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=$?
    echo
    [ $RETVAL = 0 ] && touch /var/lock/subsys/tomcat
    return $RETVAL
}

stop() {
    echo -n "Stopping tomcat: "
    PID=`cat /var/run/jsvc.pid`
    kill $PID
    RETVAL=$?
    echo
    [ $RETVAL = 0 ] && rm -f /var/lock/subsys/tomcat /var/run/tomcat.pid
}

# See how we were called.
case "$1" in
start)
      start
      ;;
stop)
      stop
      ;;
restart)
      stop
      # Ugly hack
      # We should really make sure tomcat
      # is stopped before leaving stop
      sleep 5
      start
      ;;
*)
      echo "Usage: $0 {start|stop|restart}"
      exit 1
esac

exit $RETVAL
页: [1]
查看完整版本: 在centos 5上安装tomcat6服务