`
csh081
  • 浏览: 17648 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

tomcat linux 开机自启动

阅读更多

#!/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.
#如果/lib/lsb/init-functions存在且可读
if [ -r /lib/lsb/init-functions ]; then
    . /lib/lsb/init-functions
else
    exit 1
fi


# Define which connector port to use
CONNECTOR_PORT="8022"

# Path to the tomcat launch script
TOMCAT_SCRIPT="/app/apache-tomcat-6.0.33/bin/tomcatBoot.sh"

# Define the tomcat username
TOMCAT_USER="betadmin"
TOMCAT_GROUP="bet"

# Define the tomcat log file
TOMCAT_LOG="/app/apache-tomcat-6.0.33/logs/aaa.out"

# Tomcat program name
NAME="$(basename $0)"
TOMCAT_PROG="${NAME}"

# Set the TOMCAT_PID location
CATALINA_PID="/var/run/${NAME}.pid"

# Time to wait in seconds, before killing process
SHUTDOWN_WAIT="30"


RETVAL="0"

# See how we were called.
function start() {
 
   echo -n "Starting ${TOMCAT_PROG}: "
   if [ "$RETVAL" != "0" ]; then
     log_failure_msg
     return
   fi
  
   if [ -f "/var/lock/subsys/${NAME}" ]; then
        if [ -f "/var/run/${NAME}.pid" ]; then
            read kpid < /var/run/${NAME}.pid
            if [ -d "/proc/${kpid}" ]; then
                log_success_msg
                RETVAL="0"
                return
            fi
        fi
    fi
 
 
    # fix permissions on the log and pid files
    export CATALINA_PID="/var/run/${NAME}.pid"
    touch $CATALINA_PID 2>&1 || RETVAL="4"
    if [ "$RETVAL" -eq "0" -a "$?" -eq "0" ]; then
      chown ${TOMCAT_USER}:${TOMCAT_GROUP} $CATALINA_PID
    fi
    [ "$RETVAL" -eq "0" ] && touch $TOMCAT_LOG 2>&1 || RETVAL="4"
    if [ "$RETVAL" -eq "0" -a "$?" -eq "0" ]; then
      chown ${TOMCAT_USER}:${TOMCAT_GROUP} $TOMCAT_LOG
    fi
    
    [ "$RETVAL" -eq "0" ] && su - $TOMCAT_USER -c "${TOMCAT_SCRIPT} start ${TOMCAT_LOG}" >> $TOMCAT_LOG 2>&1 || RETVAL="4"

    if [ "$RETVAL" -eq "0" ]; then
        log_success_msg
  echo "$(/usr/bin/pgrep -d , -u ${TOMCAT_USER} -G ${TOMCAT_GROUP} java)" >> $CATALINA_PID
        touch /var/lock/subsys/${NAME}
    else
        log_failure_msg "Error code ${RETVAL}"
    fi
    if [ "$DISTRIB_ID" = "MandrivaLinux" ]; then
        echo
    fi
}

function stop() {
    echo -n "Stopping ${TOMCAT_PROG}: "
    if [ -f "/var/lock/subsys/${NAME}" ]; then
      if [ "$RETVAL" -eq "0" ]; then
         touch /var/lock/subsys/${NAME} 2>&1 || RETVAL="4"
         [ "$RETVAL" -eq "0" ] && su - $TOMCAT_USER -c "${TOMCAT_SCRIPT} stop ${TOMCAT_LOG}" >> $TOMCAT_LOG 2>&1 || RETVAL="4"
      fi
      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
                    sleep 1
                    let count="${count}+1"
                done
                if [ "$count" -gt "$SHUTDOWN_WAIT" ]; then
                    kill -9 $kpid
                fi
                log_success_msg
            fi
            rm -f /var/lock/subsys/${NAME} /var/run/${NAME}.pid
        else
            log_failure_msg
            RETVAL="4"
        fi
    else
        log_success_msg
        RETVAL="0"
    fi
}

function status()
{
   checkpidfile
   if [ "$RETVAL" -eq "0" ]; then
      log_success_msg "${NAME} (pid ${kpid}) is running..."
   elif [ "$RETVAL" -eq "1" ]; then
      log_failure_msg "PID file exists, but process is not running"
   else
      checklockfile
      if [ "$RETVAL" -eq "2" ]; then
         log_failure_msg "${NAME} lockfile exists but process is not running"
      else
         pid="$(/usr/bin/pgrep -d , -u ${TOMCAT_USER} -G ${TOMCAT_GROUP} java)"
         if [ -z "$pid" ]; then
             log_success_msg "${NAME} is stopped"
             RETVAL="3"
         else
             log_success_msg "${NAME} (pid $pid) is running..."
             RETVAL="0"
         fi
      fi
  fi
}

function checklockfile()
{
   if [ -f /var/lock/subsys/${NAME} ]; then
      pid="$(/usr/bin/pgrep -d , -u ${TOMCAT_USER} -G ${TOMCAT_GROUP} java)"
# The lockfile exists but the process is not running
      if [ -z "$pid" ]; then
         RETVAL="2"
      fi
   fi
}

function checkpidfile()
{
   if [ -f "/var/run/${NAME}.pid" ]; then
      read kpid < /var/run/${NAME}.pid
      if [ -d "/proc/${kpid}" ]; then
# The pid file exists and the process is running
          RETVAL="0"
      else
# The pid file exists but the process is not running
         RETVAL="1"
         return
      fi
   fi
# pid file does not exist and program is not running
   RETVAL="3"
}

function usage()
{
   echo "Usage: $0 {start|stop|restart|condrestart|try-restart|reload|force-reload|status|version}"
   RETVAL="2"
}

# See how we were called.
RETVAL="0"
case "$1" in
    start)
        start
        ;;
    stop)
        stop
        ;;
    restart)
        stop
        start
        ;;
    condrestart|try-restart)
        if [ -f "/var/run/${NAME}.pid" ]; then
            stop
            start
        fi
        ;;
    reload)
        RETVAL="3"
        ;;
    force-reload)
        if [ -f "/var/run/${NAME}.pid" ]; then
            stop
            start
        fi
        ;;
    status)
        status
        ;;
    version)
        ${TOMCAT_SCRIPT} version
        ;;
    *)
      usage
      ;;
esac

exit $RETVAL

 

 

 

 

 

 

 

 

#!/bin/bash

# Where your tomcat installation lives
CATALINA_BASE="/app/apache-tomcat-6.0.33"
CATALINA_HOME="/app/apache-tomcat-6.0.33"
JASPER_HOME="/app/apache-tomcat-6.0.33"
CATALINA_TMPDIR="/app/apache-tomcat-6.0.33/temp"


JAVA_HOME=/usr/java/jdk1.6.0_43/bin
export JAVA_HOME

set_jvm() {
  # use $JAVA_HOME if defined
  if [ -n "$JAVA_HOME" ] ; then
    return
  fi

  # try to find it from java command

  # try javac first, or we might get the location of the jre instead - djw
  java=`which javac 2>/dev/null || :`

  # if we don't have the jdk, then maybe we have the jre - djw
  if [ -z "$java" ] ; then
    java=`which java 2>/dev/null || :`
  fi

  if [ -n "$java" ] ; then
    while [ -h "$java" ] ; do
      java=`readlink $java 2>/dev/null`
    done
    JAVA_HOME="`dirname $java`/.."
    export JAVA_HOME
    return
  fi

  echo "Can't find java virtual machine, aborting."
  exit 1
}

set_javacmd() {
  if [ -x "$JAVACMD" ]; then
    return
  fi
  set_jvm
  # Add all sorts of jvm layouts here
  if [ -x "$JAVA_HOME/jre/sh/java" ]; then
    JAVACMD="$JAVA_HOME/jre/sh/java"
  elif [ -x "$JAVA_HOME/bin/java" ]; then
    JAVACMD="$JAVA_HOME/bin/java"
  else
    JAVACMD=`which java 2>/dev/null`
  fi

  if [ ! -x "$JAVACMD" ]; then
    echo "$0: error: Failed to set JAVACMD"
    return 1
  fi

  if [ -n "$JAVACMD_OPTS" ]; then
    JAVACMD="$JAVACMD $JAVACMD_OPTS"
  fi

  return 0
}


set_javacmd
# CLASSPATH munging
if [ -n "$JSSE_HOME" ]; then
  CLASSPATH="${CLASSPATH}:$(build-classpath jcert jnet jsse 2>/dev/null)"
fi
CLASSPATH="${CLASSPATH}:${CATALINA_HOME}/bin/bootstrap.jar"
CLASSPATH="${CLASSPATH}:${CATALINA_HOME}/bin/tomcat-juli.jar"
CLASSPATH="${CLASSPATH}:$(build-classpath commons-daemon 2>/dev/null)"

if [ "$1" = "start" ]; then
  ${JAVACMD} $JAVA_OPTS $CATALINA_OPTS \
    -classpath "$CLASSPATH" \
    -Dcatalina.base="$CATALINA_BASE" \
    -Dcatalina.home="$CATALINA_HOME" \
    -Djava.endorsed.dirs="$JAVA_ENDORSED_DIRS" \
    -Djava.io.tmpdir="$CATALINA_TMPDIR" \
    -Djava.util.logging.config.file="${CATALINA_BASE}/conf/logging.properties" \
    -Djava.util.logging.manager="org.apache.juli.ClassLoaderLogManager" \
    org.apache.catalina.startup.Bootstrap start \
    >> ${2} 2>&1 &
    if [ ! -z "$CATALINA_PID" ]; then
      echo $! > $CATALINA_PID
    fi
elif [ "$1" = "start-security" ]; then
  ${JAVACMD} $JAVA_OPTS $CATALINA_OPTS \
    -classpath "$CLASSPATH" \
    -Dcatalina.base="$CATALINA_BASE" \
    -Dcatalina.home="$CATALINA_HOME" \
    -Djava.endorsed.dirs="$JAVA_ENDORSED_DIRS" \
    -Djava.io.tmpdir="$CATALINA_TMPDIR" \
    -Djava.security.manager \
    -Djava.security.policy=="${CATALINA_BASE}/conf/catalina.policy" \
    -Djava.util.logging.config.file="${CATALINA_BASE}/conf/logging.properties" \
    -Djava.util.logging.manager="org.apache.juli.ClassLoaderLogManager" \
    org.apache.catalina.startup.Bootstrap start \
    >> ${2} 2>&1 &
    if [ ! -z "$CATALINA_PID" ]; then
      echo $! > $CATALINA_PID
    fi
elif [ "$1" = "stop" ]; then
  ${JAVACMD} $JAVA_OPTS \
    -classpath "$CLASSPATH" \
    -Dcatalina.base="$CATALINA_BASE" \
    -Dcatalina.home="$CATALINA_HOME" \
    -Djava.endorsed.dirs="$JAVA_ENDORSED_DIRS" \
    -Djava.io.tmpdir="$CATALINA_TMPDIR" \
    org.apache.catalina.startup.Bootstrap stop \
    >> ${2} 2>&1
elif [ "$1" = "version" ]; then
  ${JAVACMD} -classpath ${CATALINA_HOME}/lib/catalina.jar \
    org.apache.catalina.util.ServerInfo
else
  echo "Usage: $0 {start|start-security|stop|version}"
  exit 1
fi


 

分享到:
评论

相关推荐

    Tomcat开机自启动

    Tomcat开机自启动是指在 Linux 操作系统中,使 Tomcat 服务器在系统启动时自动启动的过程。下面将详细介绍 Tomcat 开机自启动的步骤和相关知识点。 一、基本概念 在开始之前,需要了解一些基本概念: * Tomcat:...

    Linux(CentOS7)安装Tomcat与设置Tomcat为开机启动项(tomcat8为例)

    本篇文章将详细讲解如何在CentOS7上安装Tomcat8并将其配置为自启动服务。 首先,我们来了解Tomcat的不同版本。Tomcat有多个版本,包括Tomcat7、Tomcat8和Tomcat9。当前,企业中广泛使用的是Tomcat8,因为它提供了更...

    centos设置tomcat开机自启动

    - 对于生产环境中的部署,建议使用Systemd服务单元文件的方法来配置开机自启动,因为它更符合现代Linux系统的管理规范,并且提供了更多的监控和服务控制选项。 - 如果在操作过程中遇到问题,可以参考官方文档或寻求...

    虚拟机linux下配置Tomcat并设置开机自启动

    Linux 下 Tomcat 服务器配置与开机自启动设置 一、Tomcat 服务器配置 Tomcat 服务器是一种流行的基于 Java 的 Web 应用服务器,它可以运行在多种操作系统上,包括 Linux、Windows 和 Unix 等。在 Linux 中,配置 ...

    linux系统下tomcat配置安装以及设置开机自动启动

    tomcat的安装,并将将tomcat设置成服务

    centOS7设置Tomcat8开机启动

    在Linux系统中,尤其是CentOS 7,配置Apache Tomcat 8作为开机启动服务是确保服务器启动时自动运行Web应用程序的关键步骤。这个过程对于软件实施工程师来说非常重要,因为它可以简化维护工作,避免每次系统重启后...

    tomcat6开机启动

    标题中的“tomcat6开机启动”指的是在操作系统启动时,能够自动运行Tomcat 6.0.33服务器,使得用户无需手动开启服务,提高工作效率。Tomcat是Apache软件基金会的Jakarta项目中的一个核心项目,它是一个开源的Java ...

    Tomcat linux服务和自启动

    【标题】:“Tomcat Linux服务和自启动” 在Linux系统中,Apache Tomcat是一个广泛使用的开源Java Servlet容器,用于部署和运行Java web应用程序。Tomcat是基于Java的轻量级应用服务器,它遵循Java EE规范中的...

    linux环境下配置Tomcat自启动

    在Linux环境下配置Tomcat自启动是一项常见的系统管理任务,这对于保持服务器服务的连续性和稳定性至关重要。下面我们将详细探讨如何在Linux系统中设置Apache Tomcat自动启动,并了解与这个过程相关的概念和技术。 ...

    Linux 配置 tomcat 开机启动.txt

    ### Linux 下配置 Tomcat 开机启动 #### 概述 本文档主要介绍如何在 Linux 系统中配置 Apache Tomcat 服务器实现开机自动启动。通过编写一个简单的 Bash 脚本,并将其设置为系统服务的方式,可以确保 Tomcat ...

    linux设置tomcat自启动的方法

    linux设置tomcat自动启动在centos下,开机后会自动执行/etc/rc.local中的命令,平时启动tomcat的命令为tomcat_home/bin/startup.sh或tomcat_home/bin/catalina.sh start,当直接把他们任何一个加入到/etc/rc.local中...

    centos6配置tomcat8开机自启动脚本

    在整个过程中,了解CentOS 6的启动流程、Shell脚本编写的基础知识、Linux环境变量的配置方式,以及`chkconfig`和`service`命令的使用,是成功配置Tomcat 8开机自启动的关键。需要注意的是,虽然CentOS 7开始使用了...

    linux开机自动启动ngnix与tomcat服务.pdf

    ### Linux开机自动启动Nginx与Tomcat服务 在Linux环境下,为了确保Web服务的稳定性和可用性,管理员经常需要设置服务器在启动时自动运行特定的服务。本文将详细介绍如何配置Linux系统,在每次重启后自动启动Nginx和...

    linux设置tomcat开机自动启动1

    在Linux系统中,确保应用程序如Apache Tomcat在开机时自动启动是系统管理的重要部分,特别是对于提供持续服务的服务器来说。以下是如何在Linux系统中设置Tomcat开机自动启动的详细步骤,以标题和描述中的信息为基础...

    最简单linux配置tomcat开机启动

    找了半天,linux配置tomcat开机启动的教程,太麻烦了,自己总结出一套简单有效的方法,分享一下

    tomcat在linux上自动启动

    linux下自动启动tomcat的shell脚本

    使用JavaServiceWrapper设置tomcat作为linux服务并且开机自动启动.pdf

    #### 四、实现开机自启 为了使Tomcat服务能够在Linux系统启动时自动运行,还需要做一些额外的配置: 1. **创建Systemd服务单元文件** 创建一个名为`tomcat.service`的文件,并将其放置在`/etc/systemd/system/`...

    linux开机启动tomcat或者java程序

    在Linux系统中,为了实现自动在开机时启动Tomcat或Java程序,我们需要了解一些关键的知识点,包括系统服务管理、脚本编写以及环境配置。以下将详细解释如何操作。 首先,Tomcat是一个流行的开源Java应用服务器,而...

    liunx下jdk-tomcat-mysql的安装配置以及tomcat与mysqld的开机自启动的配置

    Linux 下 JDK、Tomcat 和 MySQL 的安装配置及开机自启动配置 在 Linux 操作系统中,安装 JDK、Tomcat 和 MySQL 是一种常见的配置,以下是相关的安装和配置步骤。 一、安装 JDK 在安装 JDK 之前,需要卸载可能已经...

Global site tag (gtag.js) - Google Analytics