tomcat

  一、Java及tomcat简介

  二、安装JDK及tomcat

    1.安装jdk

      安装jdk很简单,首先下载网上的jdk安装包,我这边下载的是jdk-8u221-linux-x64.tar.gz。

        ①解压:tar -axvf jdk-8u221-linux-x64.tar.gz

        ②配置环境变量

          #vim /etc/profile

          #在文件的最后加上下面的行,注意JAVA_HOME=是你的JDK安装目录。
          export JAVA_HOME=/usr/java/jdk-8u221-linux-x64.tar.gz。
          export CLASSPATH=.:${JAVA_HOME}/jre/lib/rt.jar:${JAVA_HOME}/lib/dt.jar:${JAVA_HOME}/lib/tools.jar
          export PATH=$PATH:${JAVA_HOME}/bin

        ③重新载入配置

          source /etc/profile

        ③查看版本,验证是否安装成功

          #java -version

              

    2.安装tomcat

      安装tomcat跟安装jdk一样,先下载安装包然后解压。我这边下载的版本是 apache-tomcat-8.5.41.tar.gz。

      ① 解压

         tar -zxvf  apache-tomcat-8.5.41.tar.gz

      ②设置软连接

         ln  apache-tomcat-8.5.41.tar.gz>tomcat -sv

      ②配置环境变量(与jdk差不多)

        #vim /etc/profile.d/tomcat

        #在文件中写入

        export CATALINA_HOME=/usr/local/tomcat
        export PATH=$CATALINA_HOME/bin:$PATH

      ③重新载入配置

        source /etc/profile.d/tomcat.sh

      ④验证配置

        #catalina.sh -version

          

      ⑤tomcat启动,停止,检查语法。

          catalina.sh  start/stop/confightest  

  三、tomcat的配置

      1.tomcat配置文件 ./tomcat/conf:

         ①sever.xml        核心配置文件

         ②context.xml          为部署于此toncat实例上的所有web应用长须提供默认配置文件,每个webapp都可以使用自己独有的

                      context.xml文件,文件通常放置于webapp目录的META-INF子目录中。常用于定义会话管理区、Ream、以及JDBC等。

         ③web.xml         为所有部署于此tomcat实例上的所有web程序提供默认部署描述符的。通常用于webapp提供基本的severlet定义和MIME映射表等

         ④tomcat-user.xml

         ⑤catalina.policy      当tomcat基于-security选项启动的时候,tomcat会读取此配置文件,此配置文件是JAVA安全策略配置文件,通常用于配置访问codebase或某些JAVA类的访问权限。

         ⑥catalina.properties     JAVA的属性定义文件,设定类加载器路径、安全包列表。和一些调整性能的参数信息。

         ⑦loggin.properties      定义日志相关信息,例如日志级别、文件路径等

         

  四、toncat“部署”

      ①部署是指将webapp及其所一来的类库等装载进tomcat实例上,以便接受用户请求

      ②部署方式:

          静态部署:在tomcat启动之前进行的webapp部署

          动态方式:在不打断tomcat运行的前提下,

  五、安装JDK及tomcat

    1.安装jdk

      安装jdk很简单,首先下载网上的jdk安装包,我这边下载的是jdk-8u221-linux-x64.tar.gz。

        ①解压:tar -axvf jdk-8u221-linux-x64.tar.gz

        ②配置环境变量

          #vim /etc/profile

          #在文件的最后加上下面的行,注意JAVA_HOME=是你的JDK安装目录。

          export JAVA_HOME=/usr/java/jdk-8u221-linux-x64.tar.gz。

          export CLASSPATH=.:${JAVA_HOME}/jre/lib/rt.jar:${JAVA_HOME}/lib/dt.jar:${JAVA_HOME}/lib/tools.jar

          export PATH=$PATH:${JAVA_HOME}/bin

        ③重新载入配置

          source /etc/profile

        ③查看版本,验证是否安装成功

          #java -version             

    2.安装tomcat

      安装tomcat跟安装jdk一样,先下载安装包然后解压。我这边下载的版本是 apache-tomcat-8.5.41.tar.gz。

      ① 解压

         tar -zxvf apache-tomcat-8.5.41.tar.gz

      ②设置软连接

         ln apache-tomcat-8.5.41.tar.gz>tomcat -sv

      ②配置环境变量(与jdk差不多)

        #vim /etc/profile.d/tomcat

        #在文件中写入

        export CATALINA_HOME=/usr/local/tomcat

        export PATH=$CATALINA_HOME/bin:$PATH

      ③重新载入配置

        source /etc/profile.d/tomcat.sh

      ④验证配置

        #catalina.sh -version        

      ⑤tomcat启动,停止,检查语法。

          catalina.sh start/stop/confightest  

  六、tomcat的配置

      1.tomcat配置文件 ./tomcat/conf:

         ①sever.xml        核心配置文件

         ②context.xml       为部署于此toncat实例上的所有web应用长须提供默认配置文件,每个webapp都可以使用自己独有的

                      context.xml文件,文件通常放置于webapp目录的META-INF子目录中。常用于定义会话管理区、Ream、以及JDBC等。

         ③web.xml         为所有部署于此tomcat实例上的所有web程序提供默认部署描述符的。通常用于webapp提供基本的severlet定义和MIME映射表等

         ④tomcat-user.xml

         ⑤catalina.policy      当tomcat基于-security选项启动的时候,tomcat会读取此配置文件,此配置文件是JAVA安全策略配置文件,通常用于配置访问codebase或某些JAVA类的访问权限。

         ⑥catalina.properties     JAVA的属性定义文件,设定类加载器路径、安全包列表。和一些调整性能的参数信息。

         ⑦loggin.properties     定义日志相关信息,例如日志级别、文件路径等      

  七、tomcat“部署”

      ①解析:部署是指将webapp及其所一来的类库等装载进tomcat实例上,以便接受用户请求

      ②部署类型:

          静态部署:在tomcat启动之前进行的webapp部署

          动态方式:在不打断tomcat运行的前提下,通过tomcat  manager或其他的命令工具进行部署 

      ③部署过程

          Deploy:将webapp的源文件放置在目标目录,配置tomcat服务器能够基于某contcxt路径访问此webapp,并将其特有的类由类加载器进行装载等

          Redeploy:重新部署,主要用于升级

          Undeploy:取消部署,停止应用程序并从tomcat实例上一处其部分文件和部署名。

          Stop:停止已经部署的webapp。

          Start:将停止的webapp启动起来。

      ④部署方式:

          Tomcat Manager

          ANT脚本

          TDC

      ⑤个别类归档部署方式:

          war类归档:这类归档就是将归档文件复制到$CATALINA_BASE/webapps/目录中,并重启tomcat,一般来说tomcat会自动展开,也可以使用Tomcat manager 进行热部署。

    八、webapp(应用程序)体系结构:

          webapp有固定的组织格式,是一种层次型目录结构,通常包含了servlet代码文件。jsp页面文件、类文件、部署描述符文件等,一般会打包成归档格式。

            /:web应用程序的根目录,也就是webapp下的ROOT

              /WEB-INF:此webapp的私有资源目录,通常web.xml和context.xml放置于此。

              /WEB-INF/classes:此为webapp自有类目录。

              /WEB-INF/lib:此为webapp自有能够被打包为jar格式的类。

          webapp的归档格式:

              ①EJB归档的扩展名为.jar

              ②web应用程序的归档扩展名为.war

              ③资源适配器的扩展名为.rar

              ④企业级应用程序的扩展名.ear

              ⑤web服务的扩展名为.ear或。war

     九、tomcat架构

          主要架构

              用户请求--->web服务器(这里可以是apche,nginx和tomcat自带web服务器)--->serlet connet

              注意:这里如果用的是apache,那么就是用户请求发过来,apahce接受后通过通信模块(mod_jk,proxy)与后端tomcat的连接器连接。

          1.apache与tomcat相连

              ①apache端的连接器通信模块:

                 mod_jk:apache/1.3,apache/2.0

                 mod_proxy:apache/2.2+

          2.tomcat连接协议版本:

                 http(这里包括两个,一个是http,一个是https)

                 ajp

          3.环境架构

          LAMT(linux+apache+tomcat):

            apahce(mod_jk,ajp) +tomcat(ajp connector)

            apache(mod_proxy,(http,https,ajp))+tomcat(http,https,ajp)

          LNMT(linux+nginx+tomcat)

            nginx+tomcat(http,https)

            

          

    十、tomca主配置文件详解           

      tomcat的配置主要是依赖于server.xml

          顶级类:server    

          容器类:engine,host,context    

          服务类:service

          连接器:connector

            http,ssl,ajp(apachje,jserv,portocol)

          被嵌套类:valve,logger,realm

          <server>#表示一个实例

             <service>#service主要作用是将连接器跟引擎关联起来

                <connector>#连接器(可以包含多个连接器)

                </connector>

                <engine>#引擎(一个service只能包含一个引擎)

                  <host>#虚拟主机

                    <context />#类似路劲别名

                    <context />#可以出现多次

                  </host>

                  <host>

                  </host>

                </engine>

             <service>

          </server>

       十一、自带:app

              sever status:

                  状态查看

                  app部署

               host manager:

                  虚拟主机管理

Day20-tomcat的更多相关文章

  1. Day20 javaWeb监听器和国际化

    day20 JavaWeb监听器 三大组件: Servlet Listener Filter   Listener:监听器 初次相见:AWT 二次相见:SAX   监听器: 它是一个接口,内容由我们来 ...

  2. Tomcat一个BUG造成CLOSE_WAIT

    之前应该提过,我们线上架构整体重新架设了,应用层面使用的是Spring Boot,前段日子因为一些第三方的原因,略有些匆忙的提前开始线上的内测了.然后运维发现了个问题,服务器的HTTPS端口有大量的C ...

  3. docker——容器安装tomcat

    写在前面: 继续docker的学习,学习了docker的基本常用命令之后,我在docker上安装jdk,tomcat两个基本的java web工具,这里对操作流程记录一下. 软件准备: 1.jdk-7 ...

  4. Tomcat shutdown执行后无法退出进程问题排查及解决

    问题定位及排查 上周无意中调试程序在Linux上ps -ef|grep tomcat发现有许多tomcat的进程,当时因为没有影响系统运行就没当回事.而且我内心总觉得这可能是tomcat像nginx一 ...

  5. 记一次tomcat线程创建异常调优:unable to create new native thread

    测试在进行一次性能测试的时候发现并发300个请求时出现了下面的异常: HTTP Status 500 - Handler processing failed; nested exception is ...

  6. Linux CentOS 配置Tomcat环境

    一.下载Tomcat 下载Tomcat方式也有两种,可以参考我的前一篇博文Linux CentOS配置JDK环境,这边就不再赘述. 二.在Linux处理Tomcat包 1.创建tomcat文件夹 mk ...

  7. 在Linux虚拟机下配置tomcat

    1.到Apache官网下载tomcat http://tomcat.apache.org/download-80.cgi 博主我下载的是tomcat8 博主的jdk是1.8 如果你们的jdk是1.7或 ...

  8. tomcat开发远程调试端口以及利用eclipse进行远程调试

    一.tomcat开发远程调试端口 方法1 WIN系统 在catalina.bat里:  SET CATALINA_OPTS=-server -Xdebug -Xnoagent -Djava.compi ...

  9. Eclipse中启动tomcat报错java.lang.OutOfMemoryError: PermGen space的解决方法

    有的项目引用了太多的jar包,或者反射生成了太多的类,异或有太多的常量池,就有可能会报java.lang.OutOfMemoryError: PermGen space的错误, 我们知道可以通过jvm ...

  10. mac下安装及配置tomcat

    mac下的软件不像windows下的程序那样写注册表,对于tomcat的安装来说,在mac下是名符其实的绿色软件,具体操作如下: 1.到 apache官方主页 下载完整 tar.gz文件包.(没有专门 ...

随机推荐

  1. 十分钟复习CSS盒模型与BFC

    css盒模型与BFC 本文为收集整理总结网上资源 旨在系统复习css盒模型与bfc 节省复习时间 阅读10分钟 什么是盒模型 每一个文档中,每个元素都被表示为一个矩形的盒子,它都会具有内容区.padd ...

  2. 关于在layui中的table checkbox 默认选中设置

    一.layui版本 layui-v2.4.5 二.设置table的checkbox默认选中 总共有两种方法: 方法1:在返回的json中设置LAY_CHECKED为true,页面上的checkbox就 ...

  3. 解决挖矿病毒【Xmrig miner 】CPU 100%服务器卡死问题

    背景: 突然有一天,服务器访问很慢很慢,进程查看发现CPU是100%,而且没有任何降低的意思 收集: 打开任务管理器,进程查看中CPU排序,发现一个System的进程,第一想法以为是空闲利用,发现结束 ...

  4. 音频相关 ALSA ffmpeg ffplay 命令用法 g7xx

    采样率: samples 441100 每秒 DAC/ADC 采样的频率,声卡一般还支持 48k 8k 等模式. 通道:channels 2声道 左右声道 也有单声道的声音,5.1 声道 位数: 16 ...

  5. django中CBV源码分析

    前言:Django的视图处理方式有两种: FBV(function base views) 是在视图里基于函数形式处理请求. CBV(class base views)是在视图里基于类的形式处理请求. ...

  6. 详解分页组件中查count总记录优化

    1 背景 研究mybatis-plus(以下简称MBP),使用其分页功能时.发现了一个JsqlParserCountOptimize的分页优化处理类,官方对其未做详细介绍,网上也未找到分析该类逻辑的只 ...

  7. beforeEach 之 next

    在这里我用通俗点的说法解释上next(),next(false),next('/'),next(error),希望通过这接地气的解释你能掌握这几个知识点.背景:你乘坐汽车从A景区想赶往B景区(模拟路由 ...

  8. 【Python】2.16学习笔记 运算符,位运算符,if-else语句

    复合运算符 a *= b # a = a * b a += b # a = a + b a -= b # a = a - b ... 位运算符 对数字进行二进制运算 按位与 &,二进制位都为一 ...

  9. Vue 学习记录(一)

    Vue 研究了一段时间,要学的东西挺多的. 一.基本指令 1.v-text:2.v-html:3.v-pre;4.v-cloak:5.v-once:6.v-if:7.v-else:8.v-else-i ...

  10. react build本地相对目录 "homepage": ".", package.json

    react build相对目录 "homepage": ".", package.json