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

tomcat catalina.sh 解析

阅读更多

了解 catalina。sh 里的构造,对debug    tomcat有决定性的作用。

// 获取  当前执行的脚本的名字

PRG="$0"


//  按照英文翻译 是处理软链接的  没看懂

while [ -h "$PRG" ]; do
ls=`ls -ld "$PRG"`
link=`expr "$ls" : '.*-> \(.*\)$'`
if expr "$link" : '.*/.*' > /dev/null; then
PRG="$link"
else
PRG=`dirname "$PRG"`/"$link"
fi
done



// 获取  catalina 的路径


PRGDIR=`dirname "$PRG"`
//设置 CATALINA_HOME路径
[ -z "$CATALINA_HOME" ] && CATALINA_HOME=`cd "$PRGDIR/.." >/dev/null; pwd`

# Copy CATALINA_BASE from CATALINA_HOME if not already set
[ -z "$CATALINA_BASE" ] && CATALINA_BASE="$CATALINA_HOME"

// 确认环境变量
if $cygwin; then
  [ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --unix "$JAVA_HOME"`
  [ -n "$JRE_HOME" ] && JRE_HOME=`cygpath --unix "$JRE_HOME"`
  [ -n "$CATALINA_HOME" ] && CATALINA_HOME=`cygpath --unix "$CATALINA_HOME"`
  [ -n "$CATALINA_BASE" ] && CATALINA_BASE=`cygpath --unix "$CATALINA_BASE"`
  [ -n "$CLASSPATH" ] && CLASSPATH=`cygpath --path --unix "$CLASSPATH"`
fi

//  设置  改变classpath中的东西
if [ -r "$CATALINA_HOME"/bin/setclasspath.sh ]; then
    . "$CATALINA_HOME"/bin/setclasspath.sh
  else
    echo "Cannot find $CATALINA_HOME/bin/setclasspath.sh"
    echo "This file is needed to run this program"
    exit 1
  fi

 
//追加 bootstrap.jar 到    CATALINA_HOME 中
if [ ! -z "$CLASSPATH" ] ; then
  CLASSPATH="$CLASSPATH":
fi
CLASSPATH="$CLASSPATH""$CATALINA_HOME"/bin/bootstrap.jar

// 设置CATALINA_OUT 的路径
if [ -z "$CATALINA_OUT" ] ; then
  CATALINA_OUT="$CATALINA_BASE"/logs/catalina.out
fi

//  追加 jar包
if [ -r "$CATALINA_BASE/bin/tomcat-juli.jar" ] ; then
  CLASSPATH=$CLASSPATH:$CATALINA_BASE/bin/tomcat-juli.jar
else
  CLASSPATH=$CLASSPATH:$CATALINA_HOME/bin/tomcat-juli.jar
fi
// 配置 log
if [ -z "$LOGGING_CONFIG" ]; then
  if [ -r "$CATALINA_BASE"/conf/logging.properties ]; then
    LOGGING_CONFIG="-Djava.util.logging.config.file=$CATALINA_BASE/conf/logging.properties"
  else
    # Bugzilla 45585
    LOGGING_CONFIG="-Dnop"
  fi
fi

if [ -z "$LOGGING_MANAGER" ]; then
  JAVA_OPTS="$JAVA_OPTS -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager"
else
  JAVA_OPTS="$JAVA_OPTS $LOGGING_MANAGER"
fi

// 重点讲解一下  当参数是 start的时候    也就是执行  start.sh 的那个脚本的时候 ,我们需要干的事情。
 touch "$CATALINA_OUT"
  if [ "$1" = "-security" ] ; then
    if [ $have_tty -eq 1 ]; then
      echo "Using Security Manager"
    fi
    shift
    eval \"$_RUNJAVA\" \"$LOGGING_CONFIG\" $JAVA_OPTS $CATALINA_OPTS \
      -Djava.endorsed.dirs=\"$JAVA_ENDORSED_DIRS\" -classpath \"$CLASSPATH\" \
      -Djava.security.manager \
      -Djava.security.policy==\"$CATALINA_BASE/conf/catalina.policy\" \
      -Dcatalina.base=\"$CATALINA_BASE\" \
      -Dcatalina.home=\"$CATALINA_HOME\" \
      -Djava.io.tmpdir=\"$CATALINA_TMPDIR\" \
   //  把所有的参数设置进去   然后执行 start参数
      org.apache.catalina.startup.Bootstrap "$@" start \
//    把所有的东西写道 catalina.out中。
      >> "$CATALINA_OUT" 2>&1 "&"



 

分享到:
评论

相关推荐

    catalina.sh

    《catalina.sh详解——深度剖析Tomcat启动脚本》 在Java Web开发领域,Tomcat作为一款广泛应用的开源Servlet容器,其启动、管理和监控离不开一个核心脚本——`catalina.sh`。这个脚本是Tomcat服务器的启动入口,...

    tomcat8.5.59

    《深入解析Tomcat 8.5.59》 Tomcat是Apache软件基金会下的一个开源项目,是一款广泛使用的Java Servlet容器,它实现了Java EE的Web应用程序规范。在本文中,我们将详细探讨Tomcat 8.5.59版本,这是Tomcat 8.x系列的...

    tomcat日志过大问题

    #### Tomcat日志文件过大问题解析 1. **问题概述**: - `catalina.out`是Tomcat默认的日志文件。 - 随着时间的增长,此日志文件可能会变得非常大。 - 大型日志文件可能影响系统性能,并使日志分析变得困难。 2. ...

    tomcat8.0源码+catalina-home.rar

    6. **bin**:包含启动和停止Tomcat的脚本,如catalina.sh/bat,startup.sh/bat,以及其它管理工具。 在深入源码之前,我们需要理解Tomcat的工作流程。当一个HTTP请求到达,Catalina会根据配置解析请求,然后通过...

    apache-tomcat-8.5.75.tar.gz

    在解压后的目录中,`bin` 目录包含了启动和停止Tomcat的脚本,如 `catalina.sh`(在Linux环境下)和 `startup.bat`(在Windows环境下)。`conf` 目录则包含了一系列配置文件,如 `server.xml`(定义服务器的全局配置...

    Tomcat-8.5.60

    此外,`catalina.sh`/`catalina.bat`脚本提供了更多控制选项,如以特定端口启动或附加JVM参数。 5. **JSP与Servlet**:Tomcat支持JSP和Servlet的生命周期,JSP会被编译成Servlet,然后由Tomcat执行。开发者可以利用...

    最新版linux apache-tomcat-9.0.37.tar.gz

    5. **启动、停止和管理**:Apache Tomcat提供了一系列的脚本用于管理服务,如`bin/startup.sh`用于启动Tomcat,`bin/shutdown.sh`用于关闭Tomcat。这些脚本需要使用`sudo`权限执行。 6. **配置**:Tomcat的配置文件...

    apache-tomcat-8.5.53_tomcat的8.0版本_ApacheTomcat8.5_choiceyqj_

    - **bin目录**:包含了启动和停止Tomcat的脚本,如`catalina.sh`(Unix/Linux)和`catalina.bat`(Windows)。 - **conf目录**:存储配置文件,如`server.xml`,用于定义服务器的全局配置。 - **lib目录**:包含...

    apache-tomcat-9.0.45.zip

    首先,Apache Tomcat是基于Java的轻量级应用服务器,它的核心功能是解析并执行Java Servlets和JSPs。Servlet是一种Java编程语言的接口,用于扩展服务器的功能,而JSP则是一种用于创建动态网页的服务器端技术。Tomcat...

    tomcat9.0.45+jdk1.8.zip

    5. 启动Tomcat:`sudo $CATALINA_HOME/bin/startup.sh` 6. 访问Tomcat管理界面:打开浏览器,输入 `http://your_server_ip:8080`,如果Tomcat已成功启动,将看到默认的欢迎页面。 配置Tomcat时,我们可能需要修改`$...

    apache-tomcat-8.5.27.tar.gz

    还可以使用`bin/catalina.sh`脚本进行其他管理操作。 6. **部署应用程序**:将WAR文件放入`webapps`目录下,Tomcat会自动解压并运行应用程序。 7. **日志监控**:Tomcat的日志信息位于`logs`目录下,通过分析这些...

    最新版linux apache-tomcat-9.0.36.tar.gz

    Tomcat作为Servlet容器,负责解析HTTP请求并调用相应的Servlet进行处理。 - JSP(JavaServer Pages)是与Servlet相辅相成的技术,允许开发者使用HTML语法来创建动态网页,同时嵌入Java代码。Tomcat可以将JSP页面...

    apache-tomcat-8.5.55.tar.zip

    5. **停止Tomcat**:运行`$CATALINA_HOME/bin/shutdown.sh`来关闭Tomcat服务。 除了基本操作,Apache Tomcat还支持许多高级特性,如集群、连接器配置、安全管理、JMX(Java Management Extensions)监控等。用户...

    apache-tomcat-8.5.64-windows-x64.rar

    1. `bin`:包含启动和停止Tomcat的脚本,如`catalina.bat`(Windows下的批处理文件)、`startup.sh`(Unix/Linux的Shell脚本)以及其他管理和配置工具。 2. `conf`:存储所有配置文件,如`server.xml`定义了服务器的...

    cupid-tomcat-7.0.105.zip

    在启动过程中,Tomcat会加载并解析所有的配置文件,然后监听配置的端口,准备接受HTTP请求。 对于性能优化,Tomcat 7.0.105提供了许多选项。例如,可以通过调整"conf/server.xml"中的线程池设置,如maxThreads和...

    tomcat7.070 源码及转成eclipse

    2. **启动流程**:从`bin/startup.sh`或`bin/startup.bat`开始,调用`catalina.sh`或`catalina.bat`执行主类`org.apache.catalina.startup.Bootstrap`,启动Tomcat。 3. **生命周期管理**:Tomcat使用了Java的...

    apache-tomcat-7.0.104-src.zip

    2. **bin**:包含启动和停止Tomcat的脚本,以及一些实用工具,如catalina.sh/bat、startup.sh/bat和shutdown.sh/bat。 3. **lib**:存放Tomcat运行时依赖的JAR文件,包括servlet-api.jar和其他Java EE相关库。 4. ...

    Linux apache-tomcat-5.5.33.tar.gz

    1. **bin**: 包含可执行脚本,如`catalina.sh`(启动、停止和管理Tomcat的脚本)、`startup.sh`和`shutdown.sh`(分别用于启动和关闭Tomcat)。 2. **conf**: 存放配置文件,如`server.xml`(定义服务器配置,包括...

    apache-tomcat-9.0.54-windows-x86.zip

    此外,`catalina.sh`或`catalina.bat`脚本提供命令行操作,如启动、停止和监控服务器。 5. **日志和诊断**:Tomcat提供了详细的日志记录功能,有助于调试和问题排查。通过调整日志配置,开发者可以获取所需级别的...

    apache-tomcat-9.0.40傻瓜式的,安装配置好Java之后直接打开就可以.zip

    1. `bin`:包含了启动、停止Tomcat的脚本,如`catalina.sh`(Unix/Linux)或`catalina.bat`(Windows)。 2. `conf`:存放配置文件,如`server.xml`定义了服务器的配置,`tomcat-users.xml`管理Tomcat的用户权限。 3...

Global site tag (gtag.js) - Google Analytics