/etc/init.d/tomcat5:
|
-
#!/bin/bash
-
#
-
# tomcat5 This shell script takes care of starting and stopping Tomcat
-
#
-
# chkconfig: - 80 20
-
#
-
### BEGIN INIT INFO
-
# Provides: tomcat5
-
# Required-Start: $network $syslog
-
# Required-Stop: $network $syslog
-
# Default-Start:
-
# Default-Stop:
-
# Description: Release implementation for Servlet 2.4 and JSP 2.0
-
# 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
-
#
-
if [ -r /lib/lsb/init-functions ]; then
-
. /lib/lsb/init-functions
-
else
-
exit 1
-
fi
-
NAME="$(basename $0)"
-
unset ISBOOT
-
if [ "${NAME:0:1}" = "S" -o "${NAME:0:1}" = "K" ]; then
-
NAME="${NAME:3}"
-
ISBOOT="1"
-
fi
-
# For SELinux we need to use 'runuser' not 'su'
-
if [ -x "/sbin/runuser" ]; then
-
SU="/sbin/runuser"
-
else
-
SU="su"
-
fi
-
# Get the tomcat config (use this for environment specific settings)
-
TOMCAT_CFG="/etc/tomcat5/tomcat5.conf
"
-
-
if [ -r "$TOMCAT_CFG" ]; then
-
. ${TOMCAT_CFG}
-
fi
-
# Get instance specific config file
-
if [ -r "/etc/sysconfig/${NAME}" ]; then
-
. /etc/sysconfig/${NAME}
-
fi
-
if [ -z "${CATALINA_BASE}" ]; then
-
CATALINA_BASE="${CATALINA_HOME}"
-
fi
-
# Define which connector port to use
-
CONNECTOR_PORT="${CONNECTOR_PORT:-8080
-
}"
-
# Path to the tomcat launch script
-
TOMCAT_SCRIPT="/usr/bin/dtomcat5"
-
# Path to the script that will refresh jar symlinks on startup
-
TOMCAT_RELINK_SCRIPT="${CATALINA_HOME}/bin/relink"
-
# Tomcat program name
-
TOMCAT_PROG="$NAME"
-
-
# Define the tomcat username
-
TOMCAT_USER="${TOMCAT_USER:-tomcat}"
-
# Define the tomcat log file
-
TOMCAT_LOG="${TOMCAT_LOG:-/var/log/tomcat5/catalina.out}"
-
RETVAL="0"
-
function checkpid() {
-
local i
-
for i in $* ; do
-
if [ -d "/proc/${i}" ]; then
-
return 0
-
fi
-
done
-
return 1
-
}
-
# Look for open ports, as the function name might imply
-
function findFreePorts() {
-
local isSet1="false"
-
local isSet2="false"
-
local isSet3="false"
-
local lower="8000"
-
randomPort1="0"
-
randomPort2="0"
-
randomPort3="0"
-
local -a listeners="( $(
-
netstat -ntl | \
-
awk '/^tcp/ {gsub("(.)*:", "", $4); print $4}'
-
) )"
-
while [ "$isSet1" = "false" ] || \
-
[ "$isSet2" = "false" ] || \
-
[ "$isSet3" = "false" ]; do
-
let port="${lower}+${RANDOM:0:4}"
-
if [ -z `expr " ${listeners[*]} " : ".*\( $port \).*"` ]; then
-
if [ "$isSet1" = "false" ]; then
-
export randomPort1="$port"
-
isSet1="true"
-
elif [ "$isSet2" = "false" ]; then
-
export randomPort2="$port"
-
isSet2="true"
-
elif [ "$isSet3" = "false" ]; then
-
export randomPort3="$port"
-
isSet3="true"
-
fi
-
fi
-
done
-
}
-
function makeHomeDir() {
-
SAVE_UMASK=$(umask)
-
umask 022
-
if [ ! -d "${CATALINA_HOME}" ]; then
-
echo "${CATALINA_HOME} does not exist, creating"
-
if [ ! -d "/var/lib/${NAME}" ]; then
-
mkdir -p /var/lib/${NAME}
-
cp -pR /var/lib/tomcat5/* /var/lib/${NAME}
-
fi
-
mkdir -p ${CATALINA_HOME} ${CATALINA_HOME}/conf /var/cache/${NAME}/temp \
-
/var/cache/${NAME}/work /var/log/${NAME}
-
for i in temp work; do
-
ln -fs /var/cache/${NAME}/${i} ${CATALINA_HOME}/${i}
-
done
-
for i in common server shared webapps; do
-
ln -fs /var/lib/${NAME}/${i} ${CATALINA_HOME}/${i}
-
done
-
ln -fs /var/log/${NAME} ${CATALINA_HOME}/logs
-
cp -pLR /etc/tomcat5/* ${CATALINA_HOME}/conf/
-
cp -pLR /usr/share/tomcat5/bin ${CATALINA_HOME}
-
cp -pLR /var/cache/tomcat5/work/* ${CATALINA_HOME}/work/
-
chown ${TOMCAT_USER}:${TOMCAT_USER} /var/log/${NAME}
-
fi
-
umask ${SAVE_UMASK}
-
}
-
function parseOptions() {
-
options=""
-
options="$options $(
-
awk '!/^#/ && !/^$/ { ORS=" "; print "export ", $0, ";" }' \
-
$TOMCAT_CFG
-
)"
-
if [ -r "/etc/sysconfig/${NAME}" ]; then
-
options="$options $(
-
awk '!/^#/ && !/^$/ { ORS=" ";
-
print "export ", $0, ";" }' \
-
/etc/sysconfig/${NAME}
-
)"
-
fi
-
TOMCAT_SCRIPT="$options $TOMCAT_SCRIPT"
-
}
-
# See how we were called.
-
function start() {
-
echo -n "Starting ${TOMCAT_PROG}: "
-
if [ -f "/var/lock/subsys/${NAME}" ] ; then
-
if [ -f "/var/run/${NAME}.pid" ]; then
-
read kpid < /var/run/${NAME}.pid
-
if checkpid $kpid 2>&1; then
-
echo "$NAME process already running"
-
return -1
-
else
-
echo "lock file found but no process running for"
-
echo "pid $kpid, continuing"
-
fi
-
fi
-
fi
-
export CATALINA_PID="/var/run/${NAME}.pid"
-
touch $CATALINA_PID
-
chown ${TOMCAT_USER}:${TOMCAT_USER} $CATALINA_PID
-
if [ "$CATALINA_HOME" != "/usr/share/tomcat5" ]; then
-
# Create a tomcat directory if it doesn't exist
-
makeHomeDir
-
# If CATALINA_HOME doesn't exist modify port number so that
-
# multiple instances don't interfere with each other
-
findFreePorts
-
sed -i -e "s/8005/${randomPort1}/g" -e "s/8080/${CONNECTOR_PORT}/g" \
-
-e "s/8009/${randomPort2}/g" -e "s/8443/${randomPort3}/g" \
-
${CATALINA_HOME}/conf/server.xml
-
fi
-
touch $TOMCAT_LOG
-
chown ${TOMCAT_USER}:${TOMCAT_USER} $TOMCAT_LOG
-
if [ "$RELINK" = "yes" ]; then
-
$TOMCAT_RELINK_SCRIPT
-
fi
-
$SU - $TOMCAT_USER -c "$TOMCAT_SCRIPT start" >> $TOMCAT_LOG 2>&1
-
RETVAL="$?"
-
if [ "$RETVAL" -eq 0 ]; then
-
log_success_msg
-
touch /var/lock/subsys/${NAME}
-
else
-
log_failure_msg
-
fi
-
#echo
-
return $RETVAL
-
}
-
function status() {
-
RETVAL="1"
-
if [ -f "/var/run/${NAME}.pid" ]; then
-
read kpid < /var/run/${NAME}.pid
-
if checkpid $kpid 2>&1; then
-
echo "$0 is already running (${kpid})"
-
RETVAL="0"
-
else
-
echo "lock file found but no process running for pid $kpid"
-
fi
-
else
-
pid="$(pgrep -u ${TOMCAT_USER} -G ${TOMCAT_USER} java)"
-
if [ -n "$pid" ]; then
-
echo "$0 running (${pid}) but no PID file exists"
-
RETVAL="0"
-
else
-
echo "$0 is stopped"
-
fi
-
fi
-
return $RETVAL
-
}
-
function stop() {
-
local STOP_VERBOSE="false"
-
echo -n "Stopping $TOMCAT_PROG: "
-
if [ -f "/var/lock/subsys/${NAME}" ]; then
-
$SU - $TOMCAT_USER -c "$TOMCAT_SCRIPT stop" >> $TOMCAT_LOG 2>&1
-
RETVAL="$?"
-
if [ "$RETVAL" -eq "0" ]; then
-
count="0"
-
if [ -f "/var/run/${NAME}.pid" ]; then
-
read kpid < /var/run/${NAME}.pid
-
until [ "$(ps --pid $kpid | grep -c $kpid)" -eq "0" ] || \
-
[ "$count" -gt "$SHUTDOWN_WAIT" ]; do
-
if [ "$STOP_VERBOSE" = "true" ]; then
-
echo -n -e "\nwaiting for processes $kpid to exit"
-
fi
-
sleep 1
-
let count="${count}+1"
-
done
-
if [ "$count" -gt "$SHUTDOWN_WAIT" ]; then
-
if [ "$STOP_VERBOSE" = "true" ]; then
-
echo -n -e "\nkilling processes which didn't stop"
-
echo -n -e "after "
-
echo -n "$SHUTDOWN_WAIT seconds"
-
fi
-
kill -9 $kpid
-
fi
-
if [ "$STOP_VERBOSE" = "true" -a "$count" -gt "0" ]; then
-
echo -n -e "\n"
-
fi
-
log_success_msg
-
else
-
log_failure_msg
-
fi
-
rm -f /var/lock/subsys/$NAME /var/run/$NAME.pid
-
else
-
log_failure_msg
-
fi
-
else
-
log_failure_msg
-
fi
-
#echo
-
}
-
# See how we were called.
-
case "$1" in
-
start)
-
parseOptions
-
start
-
;;
-
stop)
-
parseOptions
-
stop
-
;;
-
restart)
-
parseOptions
-
stop
-
sleep 2
-
start
-
;;
-
condrestart|try-restart)
-
if [ -f "/var/run/${NAME}.pid" ]; then
-
parseOptions
-
stop
-
start
-
fi
-
;;
-
reload)
-
RETVAL="3"
-
;;
-
force-reload)
-
if [ -f "/var/run/${NAME}.pid" ]; then
-
stop
-
start
-
fi
-
;;
-
status)
-
status
-
;;
-
version)
-
parseOptions
-
"${JAVA_HOME}/bin/java" \
-
-classpath "${CATALINA_HOME}/server/lib/[tomcat5][catalina].jar" \
-
org.apache.catalina.util.ServerInfo
-
;;
-
*)
-
echo "Usage: $TOMCAT_PROG {start|stop|restart|condrestart|try-restart|reload|force-reload|status|version}"
-
exit 1
-
esac
-
exit $RETVAL
|
/etc/tomcat5/tomcat5.conf:
|
-
# System-wide
configuration file for tomcat5 services
-
# This will be sourced by tomcat5 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/tomcat5)
-
#
-
# tomcat5 service configuration file
-
# you could also override JAVA_HOME here
-
# Where your java installation lives
-
JAVA_HOME="/usr/lib/jvm/java-1.6.0"
-
# Where your tomcat installation lives
-
# That change from spanvious RPM where TOMCAT_HOME
-
# used to be /var/tomcat.
-
# Now /var/tomcat will be the base for webapps only
-
CATALINA_HOME="/usr/share/tomcat5"
-
JASPER_HOME="/usr/share/tomcat5"
-
CATALINA_TMPDIR="/usr/share/tomcat5/temp"
-
JAVA_ENDORSED_DIRS="/usr/share/tomcat5/common/endorsed"
-
# 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/lib64"
-
# Bug 190:
-
# https://www.jpackage.org/bugzilla/show_bug.cgi?id=190
-
# System property catalina.ext.dirs should be set to its default value
-
# for ExtensionValidator to be functional.
-
JAVA_OPTS="$JAVA_OPTS -Dcatalina.ext.dirs=$CATALINA_HOME/shared/lib:$CATALINA_HOME/common/lib"
-
# What user should run tomcat
-
TOMCAT_USER="tomcat"
-
# You can change your tomcat locale here
-
#LANG=en_US
-
# Time to wait in seconds, before killing process
-
SHUTDOWN_WAIT=30
-
# Set the TOMCAT_PID location
-
CATALINA_PID=/var/run/tomcat5.pid
-
# Connector port is 8080 for this tomcat5 instance
-
#CONNECTOR_PORT=8080
-
# Change to yes if you want the tomcat init script to run the relink script
-
RELINK="no"
-
# If you wish to further customize your tomcat environment,
-
# put your own definitions here
-
# (i.e. LD_LIBRARY_PATH for some jdbc drivers)
-
# Just do not forget to export them :)
|
/etc/tomcat5/tomcat5.conf:
|
-
# Service-specific
-
configuration file for tomcat5 services
-
# This will be sourced by the SysV service script after the global
-
# configuration file /etc/tomcat5/tomcat5.conf, thus allowing values
-
# to be overridden on a per-service way
-
#
-
# NEVER change the init script itself:
-
# To change values for all services make your changes in
-
# /etc/tomcat5/tomcat5.conf
-
# To change values
-
for a specific service, change it here
-
# To create a new service
-
, create a link
-
from /etc/init.d/ to
-
# /etc/init.d/tomcat5 (do not copy the init script) and make a copy
-
of the
-
# /etc/sysconfig/tomcat5 file to /etc/sysconfig/ and change
-
# the property values so the two services won't conflict
-
# Register the new service in the system as usual (see chkconfig and similars)
-
#
|
相关推荐
使用`journalctl -u tomcat.service`查看Tomcat服务的日志信息。 7. **Java程序开机启动**: - 对于Java应用程序,同样可以创建一个类似的服务单元文件,将`ExecStart`和`ExecStop`指向你的Java程序启动和关闭脚本...
现在,你可以通过 `service tomcat start`、`service tomcat stop` 和 `service tomcat restart` 命令来启动、停止和重启Tomcat服务了。 为了安全考虑,建议修改默认的管理员账号(`tomcat` 用户)和密码。打开 `...
安装完成后,确保所有服务正常运行,可以通过`service`命令来启动、停止或重启这些服务,例如`service tomcat start`、`service mysqld restart`。为了远程访问MySQL,还需要修改`/etc/my.cnf`配置文件,允许远程...
通常,你需要创建一个Systemd服务单元文件,并将其放置在 `/etc/systemd/system` 目录下,然后使用 `systemctl enable tomcat.service` 命令来设置开机启动。 总的来说,确保Tomcat在Linux系统启动时自动运行是通过...
1. **使用包管理器**: 对于基于RPM的系统(如Fedora, CentOS),可以使用`yum install httpd`;对于基于DEB的系统(如Ubuntu, Debian),使用`apt-get install apache2`。 2. **启动服务**: 通过`systemctl start ...
[root@localhost src]# service mysql start 测试是否安装成功: [root@localhost src]# netstat -nat 出现以下信息说明安装成功: tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 2. 安装 MySQL 客户端 安装 MySQL ...
常见的Linux发行版有Red Hat、Fedora、Debian、Ubuntu、SUSE等。不同的发行版可能有不同的默认Shell和文件系统特性。 - **Shell**: 常见的Shell类型有bash、tcsh、csh、ksh、zsh等。其中,bash是最常用的Shell类型...
支持的操作系统包括Windows(Java核心)、Mac OS X、Debian、Fedora Core/RHEL、FreeBSD、SUSE Linux、HP/UX、Sun Solaris以及IBM/AIX。 以Red Hat(RH)为例,Java安装步骤如下: 1. 将J2SDK-1_4_2_08-linux-i586....
5. **测试与调试**:完成配置后,启动Tomcat服务器,通过工具如Postman发送SOAP请求至定义的WebService URL,以验证服务是否正确响应。 #### 总结 XFIRE短信接口的搭建与配置涉及多个环节,包括环境准备、服务定义...
SR2(Service Release 2)代表了该版本的第二次重要更新,通常包含了错误修复、性能提升和新功能的添加。 Linux 64位版本的Eclipse Luna是针对64位操作系统设计的,如Ubuntu、Fedora、openSUSE等,确保在64位处理器...
# yum install http://mirrors.sohu.com/fedora-epel/6/x86_64/epel-release-6-8.noarch.rpm # yum install ansible ``` 2. **配置 Ansible:**编辑 `/etc/ansible/hosts` 文件,将目标机器按需分组,并配置好...