设为首页 收藏本站
查看: 538|回复: 0

[经验分享] Tomcat 基础知识

[复制链接]

尚未签到

发表于 2018-12-1 10:53:37 | 显示全部楼层 |阅读模式
一,Tomcat 理论部分
1tomcat介绍
          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

2JDK介绍
       JDK(JavaDevelopment Kit) 是 Java 语言的软件开发工具包(SDK)。
3jdk不同发展方向:
       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。
4JDK包含的基本组件包括:
       javac – 编译器,将源程序转成字节码
       jar – 打包工具,将相关的类文件打包成一个文件
       javadoc – 文档生成器,从源码注释中提取文档
       jdb – debugger,查错工具
       java – 运行编译后的java程序(.class后缀的)
       appletviewer:小程序浏览器,一种执行HTML文件上的Java小程序的Java浏览器。
        Javah:产生可以调用Java过程的C过程,或建立能被Java程序调用的C过程的头文件。
       Javap:Java反汇编器,显示编译类文件中的可访问功能和数据,同时显示字节代码含义。
       Jconsole:Java进行系统调试和监控的工具
5java 体系结构:      
      A  java 编程语言:
      C  java class(类)文件格式:标准
      B  java API (开发接口):
      D  java VM:各自独立,又有联系;
6Java虚拟机
        JVM是JavaVirtualMachine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。
       Java语言的一个非常重要的特点就是与平台的无关性。而使用Java虚拟机是实现这一特点的关键。一般的高级语言如果要在不同的平台上运行,至少需要编译成不同的目标代码。而引入Java语虚拟机后,Java语言在不同平台上运行时不需要重新编译。Java语言使用Java虚拟机屏蔽了与具体平台相关的信息,使得Java语言编译程序只需生成在Java虚拟机上运行的目标代码(字节码)就可以在多种平台上不加修改地运行。Java虚拟机在执行字节码时,把字节码解释成具体平台上的机器指令执行。这就是Java的能够“一次编译,到处运行”的原因。
     JVM 工作结构如图1.1所示:

A, 方法区:被虚拟机加载的类信息;常量、静态变量等;永久代;
     B,堆:内存动向的, java堆是jvm管理的最大一部分,也是GC管理的主要区域;也是存储java 划分出来的对象;主流的算法都基于分代收集方式进行,新生代和老年代,线程共享;
     C,  java栈:java 线程私有的,创建栈贞,存放线程的局部变量表;
     D, PC寄存器(program counter register):有些空间是共享的,有些是每一个线程独占的部分;程序计数器,线程各自都独占的内存空间;
     E, 本地方法栈:依赖于本地平台;
7java 栈标准版5.0 如图1.2所示

二,实践部分
1,安装tomcat前,要先安装jdk组件:
     下面安装epel源码包的jdk
# rpm -ivhjdk-7u67-linux-x64.rpm
如图1.3

查看安装路径,如图1.4所示:

2,配置java环境变量:
# vim /etc/profile.d/java.sh   如图1.5

# . /etc/profile.d/java.sh      重置生效;
查看java版本;
# java -version         如图1.6

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

# . /etc/profile.d/tomcat.sh    重读生效;
# catalina.sh start            启动tomcat 如图1.8

# netstat -tnlp          查看tomcat监听端口8080
访问浏览器验证tomcat是否安装成功:  如图1.9

4,配置文件相关信息:
Aserver.xml  :    主配置文件
Bcontext.xml:每一个webapp都可以有专用的配置文件,这些配置文件通常位于webapp应用程序目录下的web-inf目录中,用于定义会话管理,jdbc conf/context.xml 是为个webapp提供默认部署;
Cweb.xml:        每个webapp“部署”之后才能被访问,此文件用于为所有的webapp提供默认部署相关的配置;
Dtomcat-users.xml:用户认证的账号和密码配置文件;
Ecatalina.policy:当使用-security选项启动tomcat实例时会读取此配置文件来实现其安全运行策略;
Fcatalina.properties: java 属性的定义文件,用于设定类加载器路径等,以及一些JVM性能相关的调优参数;
Glogging.properties 日志相关的配置信息;

5,查看webapps 程序目录;
# cd webapps/                               如图2.0

6,查看java webapps 的主文件:
      AWEB-INF/:当前webapp的私有资源,存放当前webapp自用的web.xml
     BMETA-INF/:当前webapp的私有资源,存放当前webapp自用的context.xml
     C classes/:webapp的私有类;
     Dlib/:此webapp的私有类,被打包为jar格式类;
     E index.jsp webapp 的主页;

7,添加测试应用程序:
     创建目录并添加测试文档:
  # mkdir -pvmyapp/{lib,classes,WEB-INF,META-INF}
# vim myapp/index.jsp      如图2.1

访问文本页面验证:   如图2.2

三,热部署和冷部署:
   1  部署方式:
              自动部署:  auto deploy
             手动部署:
               A,冷部署,把webapp复制到指定位置,而后才启动tomcattomcat启动之前;
               B,热部署,在不停止tomcat的前提下进行的部分;
                              部署工具:managerant脚本、tcd 等;

A 配置conf文件做webapp 管理工具:
# vim /usr/local/tomcat/conf/tomcat-users.xml     如图2.3

停止tomcat服务并在此开启tomcat服务,
# catalina.sh stop
# catalina.sh start
访问web浏览器验证查询:       如图2.4

B,配置Host manager 参数;
  首先修改 /usr/local/tomcat/conf/tomcat-users.xml 里的参数;
  # vim/usr/local/tomcat/conf/tomcat-users.xml         
在上面的参数中加入             如图2.5

  访问浏览器来验证:          如图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

我们查看他的log日志:
# tail -f  /data/logs/web1_access_log.2015-10-27.txt
tail -f 查看流动日志再好不过了,爱死ta           如图3.0

3,下面我们做一下访问控制,禁止192.168.197.116 访问;
我们要编辑/usr/local/tomcat/conf/server.xml  如图3.1
我们加入一行deny就可以了,

现在访问浏览器验证  显示403的错误:      如图3.2

到这就算可以先歇歇了,,,后面的 我们在周末在更新   !!!!!!!!!!!!!

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

  





运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-641896-1-1.html 上篇帖子: Tomcat性能调优指南 下篇帖子: CentOS安装Tomcat6
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表