美文网首页
tomcat安装

tomcat安装

作者: dbc94a66f502 | 来源:发表于2019-03-07 23:10 被阅读0次

1.安装tomcat

http://tomcat.apache.org/

wget http://mirrors.shu.edu.cn/apache/tomcat/tomcat-8/v8.5.38/bin/apache-tomcat-8.5.38.tar.gz
tar -zxvf tomcat-8.5.20.tar.gz
cd tomcat-8.5.20

到这里,进入bin目录执行sh startup.sh就可以启动了,前提是jdk路径已经配置好

2.配置service服务启动及开机启动

2.1 创建tomcat启动文件
cd /etc/init.d

来到/etc/init.d目录下,创建tomcat文件(在文章结尾),注意TOMCAT_CFG="/root/server/tomcat/tomcat.conf,这里是tomcat的配置文件(在文章结尾),路径随意

2.2 将上面这个文件设置成可执行文件

chmod a+x tomcat

2.3 设置服务运行级别

chkconfig --add tomcat
chkconfig --list
chkconfig tomcat on

2.4 测试

service tomcat start
service tomcat stop
service tomcat restart

可以使用bash -x tomcat start进行调试,看每一步的执行。
修改完配置文件需要执行systemctl daemon-reload

  • tomcat
#!/bin/bash
#
# tomcat6      This shell script takes care of starting and stopping Tomcat
#
# chkconfig: - 80 20
#
### BEGIN INIT INFO
# Provides: tomcat6
# Required-Start: $network $syslog
# Required-Stop: $network $syslog
# Default-Start:
# Default-Stop:
# Description: Release implementation for Servlet 2.5 and JSP 2.1
# Short-Description: start and stop tomcat
### END INIT INFO
#
# - originally written by Henri Gomez, Keith Irwin, and Nicolas Mailhot
# - heavily rewritten by Deepak Bhole and Jason Corley
#

## Source function library.
#. /etc/rc.d/init.d/functions
# Source LSB function library.
# Lock file.
 
 LOCK_FILE="/var/lock/subsys/tfw_tomcat"
  
 SLEEP_START=30
 
 SLEEP_STOP=30
 
 TOMCAT_CFG="/root/server/tomcat/tomcat.conf"
 if [ -r "$TOMCAT_CFG" ]; then
    . $TOMCAT_CFG
 fi
 
 # Importing functions.
 
 flg_func=0
 
 if [ -f /etc/init.d/functions ] ; then
 
        . /etc/init.d/functions
 
        flg_func=1
 
 elif [ -f /etc/rc.d/init.d/functions ] ; then
 
        . /etc/rc.d/init.d/functions
 
        flg_func=1
 
 fi
 
  
 
 # Templete.
 
 # Return:
 
 #        FLG_PROC_ON means process is there.
 
 #        FLG_PROC_OFF means process not exists.
 
 #        Other means error.
 
 FLG_PROC_ON=1
 
 FLG_PROC_OFF=0
 
 probe() {
 
        srch_rst=$(ps -A|grep $CATALINA_PROC|awk '{print $4}')
 
        for rst in $srch_rst ; do
 
                if [ $CATALINA_PROC = $rst ] ; then
 
                        return $FLG_PROC_ON
 
                fi
 
        done
 
        return $FLG_PROC_OFF
 
 }
 
  
 
 # Templete.
 
 #        Shows OK.
 
 # Return:
 
 echo_ok() {
 
        case $flg_func in
 
                1)
 
                        echo_success
 
                        echo ""
 
                ;;
 
                *)
 
                        echo ""
 
                        echo "        [  OK  ]"
 
                ;;
 
        esac
 
 }
 
  
 
 # Templete.
 
 #        Shows Passed.
 
 # Return:
 
 echo_pass() {
 
        case $flg_func in
 
                1)
 
                        echo_passed
 
                        echo ""
 
                ;;
 
                *)
 
                        echo ""
 
                        echo "        [PASSED]"
 
                ;;
 
        esac
 
 }
 
  
 
 # Templete.
 
 #        Shows Failed.
 
 # Return:
 
 echo_bad() {
 
        case $flg_func in
 
                1)
 
                        echo_failure
 
                        echo ""
 
                ;;
 
                *)
 
                        echo ""
 
                        echo "        [FAILED]"
 
                ;;
 
        esac
 
 }
 
  
 
 # Templete.
 
 #        Start section.
 
 # Return:
 
 _start() {
 
        probe
 
        proc=$?
 
        echo ""
 
        echo "Starting $SVC_NAME..."
 
  
 
        if (touch $LOCK_FILE) ; then
 
                echo_ok
 
        else
 
                echo_bad
 
        fi
 
 }
 
  
 
 start() {
 
        probe
 
        proc=$?
 
        echo ""
 
        echo "Starting $SVC_NAME..."
 
  
 
        if [ $FLG_PROC_OFF = $proc ] ; then
 
                if (su - $CATALINA_USER -c "$CATALINA_HOME/bin/catalina.sh start") ; then
 
                        sleep $SLEEP_START
 
                        if (touch $LOCK_FILE) ; then
 
                                echo_ok
 
                        else
 
                                echo_pass
 
                                echo ""
 
                        fi
 
                else
 
                        echo_bad
 
                fi
 
        elif [ $FLG_PROC_ON = $proc ] ; then
 
                if (touch $LOCK_FILE) ; then
 
                        echo_passed
 
                        echo ""
 
                else
 
                        echo_bad
 
                fi
 
        fi
 
 }
 
  
 
 # Templete.
 
 #        Stop section.
 
 # Return:
 
 _stop() {
 
        probe
 
        proc=$?
 
        echo ""
 
        echo "Stopping $SVC_NAME..."
 
  
 
        if (rm -Rf $LOCK_FILE) ; then
 
                echo_ok
 
        else
 
                echo_bad
 
        fi
 
 }
 
  
 
 stop() {
 
        probe
 
        proc=$?
 
        echo ""
 
        echo "Stopping $SVC_NAME..."
 
  
 
        if [ $FLG_PROC_OFF = $proc ] ; then
 
                if (rm -Rf $LOCK_FILE) ; then
 
                        echo_passed
 
                        echo ""
 
                else
 
                        echo_bad
 
                fi
 
        elif [ $FLG_PROC_ON = $proc ] ; then
 
                if (su - $CATALINA_USER -c "$CATALINA_HOME/bin/catalina.sh stop") ; then
 
                        sleep $SLEEP_STOP
 
                        if (rm -Rf $LOCK_FILE) ; then
 
                                echo_ok
 
                        else
 
                                echo_pass
 
                                echo ""
 
                        fi
 
                else
 
                        echo_bad
 
                fi
 
        fi
 
 }
 
  
 
 # Parse command line parameters.
 
 case $1 in
 
        start)
 
                start
 
        ;;
 
        stop)
 
                stop
 
        ;;
 
        restart)
 
                stop
 
                start
 
        ;;
 
        *)
 
                # Print help
 
                echo "Usage: $0 {start|stop|restart}"
 
                exit 1
 
        ;;
 
 esac
 
 exit 0
  • tomcat.conf
# System-wide configuration file for tomcat6 services
# This will be sourced by tomcat6 and any secondary service
# Values will be overridden by service-specific configuration
# files in /etc/sysconfig
#
# Use this one to change default values for all services
# Change the service specific ones to affect only one service
# (see, for instance, /etc/sysconfig/tomcat6)
#

# Where your java installation lives
#JAVA_HOME="/usr/lib/jvm/java-1.5.0"

# Where your tomcat installation lives
# CATALINA_BASE="/root/tomcat/tomcat7"
# CATALINA_HOME="/root/tomcat/tomcat7"
# JASPER_HOME="/root/tomcat/tomcat7"
# CATALINA_TMPDIR="/root/tomcat/tomcat7/temp"

# You can pass some parameters to java here if you wish to
#JAVA_OPTS="-Xminf0.1 -Xmaxf0.3"

# Use JAVA_OPTS to set java.library.path for libtcnative.so
#JAVA_OPTS="-Djava.library.path=/usr/lib"

# Cannot resolve user database reference - naming-factory-dbcp
# the real problem is a cnfe that is avoided by configuring
# the -Djavax.sql.DataSource.Factory. This fixes the rpm install.
JAVA_OPTS="${JAVA_OPTS} -Djavax.sql.DataSource.Factory=org.apache.commons.dbcp.BasicDataSourceFactory"
SVC_NAME="tomcat7"
CATALINA_BASE=/root/server/tomcat/apache-tomcat-7.0.85
CATALINA_HOME=$CATALINA_BASE
JASPER_HOME=$CATALINA_BASE
CATALINA_TMPDIR=$CATALINA_BASE/temp
CATALINA_USER="root"
CATALINA_PROC="java"

相关文章

网友评论

      本文标题:tomcat安装

      本文链接:https://www.haomeiwen.com/subject/wndhpqtx.html