1.安装tomcat
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"
网友评论