花蜻宽 发表于 2018-12-1 10:53:37

Tomcat 基础知识

一,Tomcat 理论部分
1,tomcat介绍
          Tomcat最初是由Sun的软件构架师詹姆斯·邓肯·戴维森开发的。后来他帮助将其变为开源项目,并由Sun贡献给Apache软件基金会。由于大部分开源项目O'Reilly都会出一本相关的书,并且将其封面设计成某个动物的素描,因此他希望将此项目以一个动物的名字命名。因为他希望这种动物能够自己照顾自己,最终,他将其命名为Tomcat(英语公猫或其他雄性猫科动物)。而O'Reilly出版的介绍Tomcat的书籍(ISBN0-596-00318-8)的封面也被设计成了一个公猫的形象。而Tomcat的Logo兼吉祥物也被设计成了一只公猫。                                                                                                                                                                                                                                                                              
      诀窍是,当配置正确时,Apache 为HTML页面服务,而Tomcat实际上运行JSP页面和Servlet。另外,Tomcat和IIS等Web服务器一样,具有处理HTML页面的功能,另外它还是一个Servlet和JSP容器,独立的Servlet容器是Tomcat的默认模式。不过,Tomcat处理静态HTML的能力不如Apache服务器。目前Tomcat最新版本为8.0;

2,JDK介绍
       JDK(JavaDevelopment Kit) 是 Java 语言的软件开发工具包(SDK)。
3,jdk不同发展方向:
       SE(J2SE),standardedition,标准版,是我们通常用的一个版本,从JDK 5.0开始,改名为Java SE。
       EE(J2EE),enterpriseedition,企业版,使用这种JDK开发J2EE应用程序,从JDK 5.0开始,改名为Java EE。
       ME(J2ME),microedition,主要用于移动设备、嵌入式设备上的java应用程序,从JDK 5.0开始,改名为Java ME。
4,JDK包含的基本组件包括:
       javac – 编译器,将源程序转成字节码
       jar – 打包工具,将相关的类文件打包成一个文件
       javadoc – 文档生成器,从源码注释中提取文档
       jdb – debugger,查错工具
       java – 运行编译后的java程序(.class后缀的)
       appletviewer:小程序浏览器,一种执行HTML文件上的Java小程序的Java浏览器。
      Javah:产生可以调用Java过程的C过程,或建立能被Java程序调用的C过程的头文件。
       Javap:Java反汇编器,显示编译类文件中的可访问功能和数据,同时显示字节代码含义。
       Jconsole:Java进行系统调试和监控的工具
5,java 体系结构:      
      Ajava 编程语言:
      Cjava class(类)文件格式:标准
      Bjava API (开发接口):
      Djava VM:各自独立,又有联系;
6,Java虚拟机
      JVM是JavaVirtualMachine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。
       Java语言的一个非常重要的特点就是与平台的无关性。而使用Java虚拟机是实现这一特点的关键。一般的高级语言如果要在不同的平台上运行,至少需要编译成不同的目标代码。而引入Java语虚拟机后,Java语言在不同平台上运行时不需要重新编译。Java语言使用Java虚拟机屏蔽了与具体平台相关的信息,使得Java语言编译程序只需生成在Java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。Java虚拟机在执行字节码时,把字节码解释成具体平台上的机器指令执行。这就是Java的能够“一次编译,到处运行”的原因。
   JVM 工作结构如图1.1所示:
http://s3.运维网.com/wyfs02/M01/75/05/wKioL1YwypaRRPR5AAEmK7uefTY186.jpg
A, 方法区:被虚拟机加载的类信息;常量、静态变量等;永久代;
   B,堆:内存动向的, java堆是jvm管理的最大一部分,也是GC管理的主要区域;也是存储java 划分出来的对象;主流的算法都基于分代收集方式进行,新生代和老年代,线程共享;
   C,java栈:java 线程私有的,创建栈贞,存放线程的局部变量表;
   D, PC寄存器(program counter register):有些空间是共享的,有些是每一个线程独占的部分;程序计数器,线程各自都独占的内存空间;
   E, 本地方法栈:依赖于本地平台;
7,java 栈标准版5.0 如图1.2所示
http://s3.运维网.com/wyfs02/M00/75/08/wKiom1YwynyD_x9nAAQFoO1jBQg171.jpg
二,实践部分
1,安装tomcat前,要先安装jdk组件:
   下面安装epel源码包的jdk,
# rpm -ivhjdk-7u67-linux-x64.rpm
如图1.3
http://s3.运维网.com/wyfs02/M00/75/05/wKioL1Ywys6yZpJpAAGFJQzMFOM082.jpg
查看安装路径,如图1.4所示:
http://s3.运维网.com/wyfs02/M02/75/08/wKiom1YwyrPSIN1JAADW55nB6y4016.jpg
2,配置java环境变量:
# vim /etc/profile.d/java.sh   如图1.5
http://s3.运维网.com/wyfs02/M02/75/05/wKioL1YwyvuxmgoxAAA643BS-zE666.jpg
# . /etc/profile.d/java.sh      重置生效;
查看java版本;
# java -version         如图1.6
http://s3.运维网.com/wyfs02/M00/75/05/wKioL1YwyxLTe0C1AAC7LyCGt1I853.jpg
3,部署tomcat,
# tar xfapache-tomcat-8.0.23.tar.gz
# ln -svapache-tomcat-8.0.23 tomcat
# cd tomcat/
配置tomcat环境变量:
# vim /etc/profile.d/tomcat.sh      如图1.7
http://s3.运维网.com/wyfs02/M02/75/08/wKiom1YwyvLy08gUAAA9hSMDGrE876.jpg
# . /etc/profile.d/tomcat.sh    重读生效;
# catalina.sh start            启动tomcat 如图1.8
http://s3.运维网.com/wyfs02/M02/75/05/wKioL1Ywyzyz3drmAAEZpnhedac844.jpg
# netstat -tnlp          查看tomcat监听端口8080
访问浏览器验证tomcat是否安装成功:如图1.9
http://s3.运维网.com/wyfs02/M00/75/05/wKioL1Ywy1Kz0ZkIAANCwxV_FxQ901.jpg
4,配置文件相关信息:
A,server.xml:    主配置文件
B,context.xml:每一个webapp都可以有专用的配置文件,这些配置文件通常位于webapp应用程序目录下的web-inf目录中,用于定义会话管理,jdbc等 conf/context.xml 是为个webapp提供默认部署;
C,web.xml:      每个webapp“部署”之后才能被访问,此文件用于为所有的webapp提供默认部署相关的配置;
D,tomcat-users.xml:用户认证的账号和密码配置文件;
E,catalina.policy:当使用-security选项启动tomcat实例时会读取此配置文件来实现其安全运行策略;
F,catalina.properties: java 属性的定义文件,用于设定类加载器路径等,以及一些JVM性能相关的调优参数;
G,logging.properties: 日志相关的配置信息;

5,查看webapps 程序目录;
# cd webapps/                               如图2.0
http://s3.运维网.com/wyfs02/M00/75/08/wKiom1YwyzKAQTcwAAB8azJ1vN4826.jpg
6,查看java webapps 的主文件:
      A,WEB-INF/:当前webapp的私有资源,存放当前webapp自用的web.xml;
   B,META-INF/:当前webapp的私有资源,存放当前webapp自用的context.xml;
   C, classes/:此webapp的私有类;
   D,lib/:此webapp的私有类,被打包为jar格式类;
   E, index.jsp :webapp 的主页;

7,添加测试应用程序:
   创建目录并添加测试文档:
# mkdir -pvmyapp/{lib,classes,WEB-INF,META-INF}
# vim myapp/index.jsp      如图2.1
http://s3.运维网.com/wyfs02/M01/75/05/wKioL1Ywy3vQ7oVgAAChFtBbbNE141.jpg
访问文本页面验证:   如图2.2
http://s3.运维网.com/wyfs02/M02/75/08/wKiom1Ywy1jgu190AACGsYXS7Fk816.jpg
三,热部署和冷部署:
   1,部署方式:
            自动部署:auto deploy
             手动部署:
               A,冷部署,把webapp复制到指定位置,而后才启动tomcat;tomcat启动之前;
               B,热部署,在不停止tomcat的前提下进行的部分;
                              部署工具:manager、ant脚本、tcd 等;

A, 配置conf文件做webapp 管理工具:
# vim /usr/local/tomcat/conf/tomcat-users.xml   如图2.3
http://s3.运维网.com/wyfs02/M01/75/06/wKioL1Ywy6ORBoQjAABtIyoGn5M553.jpg
停止tomcat服务并在此开启tomcat服务,
# catalina.sh stop
# catalina.sh start
访问web浏览器验证查询:       如图2.4
http://s3.运维网.com/wyfs02/M01/75/08/wKiom1Ywy4WxOCvEAALUYgl23vU613.jpg
B,配置Host manager 参数;
首先修改 /usr/local/tomcat/conf/tomcat-users.xml 里的参数;
# vim/usr/local/tomcat/conf/tomcat-users.xml         
在上面的参数中加入             如图2.5
http://s3.运维网.com/wyfs02/M01/75/06/wKioL1Ywy8-jBr0BAACXTH-ISJ4619.jpg
  访问浏览器来验证:          如图2.6
  http://s3.运维网.com/wyfs02/M02/75/08/wKiom1Ywy7XB4bwwAAI4axlS1NU301.jpg
四,实例演示:
1,首先备份主配置文件
#/usr/local/tomcat/conf
# cpserver.xml{,.bak}
A,#vim server.xml    查看配置文档
8005 端口实现当前虚拟机管理;         如图2.7
  http://s3.运维网.com/wyfs02/M00/75/08/wKiom1Ywy8jhkQ96AAA9PZm1_mQ166.jpg
  B,定义虚拟主机;      如图2.8
  http://s3.运维网.com/wyfs02/M00/75/08/wKiom1Ywy-XQnCzZAABO-SI-2ZE239.jpg
2,定义虚拟主机:
首先创建目录
#mkdir-pv /data/{webapps,logs}
#cp/usr/local/tomcat/webapps/myapp/* /data/webapps/      把编辑好的jsp文件复制到
在编辑 /usr/local/tomcat/conf/server.xml

      
         
         
                        
访问浏览器验证:    如图2.9
http://s3.运维网.com/wyfs02/M02/75/06/wKioL1YwzDaC2Mi5AACLQzN8Ygg166.jpg
我们查看他的log日志:
# tail -f/data/logs/web1_access_log.2015-10-27.txt
用tail -f 查看流动日志再好不过了,爱死ta了         如图3.0
http://s3.运维网.com/wyfs02/M01/75/06/wKioL1YwzFfBuxI8AAFrzVML0cY959.jpg
3,下面我们做一下访问控制,禁止192.168.197.116 访问;
我们要编辑/usr/local/tomcat/conf/server.xml如图3.1
我们加入一行deny就可以了,
http://s3.运维网.com/wyfs02/M02/75/08/wKiom1YwzDuDJSu-AAEizuQP48E994.jpg
现在访问浏览器验证显示403的错误:      如图3.2
http://s3.运维网.com/wyfs02/M01/75/08/wKiom1YwzFOwVmjeAAF8if8BevE660.jpg
到这就算可以先歇歇了,,,后面的 我们在周末在更新   !!!!!!!!!!!!!

                                                      更多linux 知识请关注马哥教育 www.magedu.com
  

  




页: [1]
查看完整版本: Tomcat 基础知识