浅谈Centos 7系统的Tomcat服务器
admin
2023-02-25 06:40:03
0

一、tomcat的由来

名称由来:tomcat最初是由Sun的软件架构师詹姆斯 邓肯 戴维森开发的。后来他帮助将其变为开源项目,并由Sun贡献给Apache软件基金会。由于大部分开源项目O'Reilly都会出一本相关的书,并且将其封面设计成某个动物的素描,因此他希望将此项目以一个动物的名字命名。因为他希望这种动物能够自己照顾自己,最终,他将其命名为tomcat(公猫)。

1、Tomcat应用场景

Tomcat服务器是一个免费的开源web应用服务器,属于轻量级应用服务器,在中小型系统和并发用户不是很多的场合中被普遍使用,是开发和测试JSP程序的首选。一般来说,Tomcat虽然和apache或者Nginx这些web服务器一样,具有处理HTML页面的功能,然而由于其处理静态页面的能力远不如apache或者Nginx,所以Tomcat一般是作为一个servlet和JSP容器,单独运行在后端。

2、Tomcat所需的依赖软件

在安装Tomcat之前必须安装JDK,JDK是sun公司免费提供的Java语言的软件开发工具包,其中包含Java虚拟机(JVM)。编写好的Java源程序经过编译可形成Java字节码,只要安装了JDK就可以利用JVM解释这些字码文件,从而保证Java的跨平台性。

在平台兼容性方面,JDK作为解释字节码文件并据此调用操作系统的API实现对应功能的Java虚拟机,与操作系统类型和平台位数密切相关,因此存在不同类型的版本,而Tomcat也具有这些特征,(Centos 7.0默认情况下JDK已经安装,如果要是Centos 6.0操作系统就需要自行安装了)。

1)查看JDK是否安装

[root@centos02 ~]# java -version
openjdk version "1.8.0_131"
OpenJDK Runtime Environment (build 1.8.0_131-b12)
OpenJDK 64-Bit Server VM (build 25.131-b12, mixed mode)

2)Centos 6.0安装JDK

[root@centos02 ~]# mount /dev/cdrom /mnt/ 
mount: /dev/sr0 写保护,将以只读方式挂载
[root@centos02 ~]# tar zxvf /mnt/jdk-7u65-linux-x64.gz -C  /usr/src/   
           
[root@centos02 src]# ls
debug  jdk1.7.0_65  kernels
[root@centos02 src]# mv jdk1.7.0_65/ /usr/src/java  
[root@centos02 ~]# vim /etc/profile.d/java.sh
export  JAVA_HOME=/usr/local/java
export  PATH=$PATH:$JAVA_HOME/bin
[root@centos02 ~]# chmod +x /etc/profile.d/java.sh
[root@centos02 ~]# source /etc/profile.d/java.sh   

二、Tomcat的配置相关说明

1、Tomcat的主要目录

tomcat的主要目录为/usr/local/tomcat8/。

[root@centos02 ~]# cd /usr/local/tomcat/
[root@centos02 tomcat]# ll
总用量 96
drwxr-xr-x 2 root root  4096 11月 30 19:48 bin
drwxr-xr-x 3 root root   174 11月 30 20:03 conf
drwxr-xr-x 2 root root  4096 11月 30 19:48 lib
-rw-r--r-- 1 root root 56812 5月  20 2014 LICENSE
drwxr-xr-x 2 root root   197 11月 30 19:51 logs
-rw-r--r-- 1 root root  1192 5月  20 2014 NOTICE
-rw-r--r-- 1 root root  8974 5月  20 2014 RELEASE-NOTES
-rw-r--r-- 1 root root 16204 5月  20 2014 RUNNING.txt
drwxr-xr-x 2 root root    30 11月 30 19:48 temp
drwxr-xr-x 7 root root    81 5月  20 2014 webapps
drwxr-xr-x 3 root root    22 11月 30 19:51 work

主要目录说明如下:

  • |---bin/:存放Windows或Linux平台上启动和关闭Tomcat的脚本文件;
  • |---conf/:存放Tomcat服务器的各种全局配置文件,其中最重要的是server.xml和web.xml;
  • |---lib/:存放Tomcat运行需要的库文件;
  • |---logs/:存放Tomcat执行时的LOG文件;
  • |---webapps:Tomcat的主要web发布目录(包括应用程序示例);
  • |---work:存放JSP编译后产生的class文件;

2、配置文件说明

[root@centos02 tomcat]# ll conf/
总用量 200
drwxr-xr-x 3 root root     23 11月 30 19:51 Catalina
-rw------- 1 root root  12257 5月  20 2014 catalina.policy
-rw------- 1 root root   6294 5月  20 2014 catalina.properties
-rw------- 1 root root   1394 5月  20 2014 context.xml
-rw------- 1 root root   3288 5月  20 2014 logging.properties
-rw------- 1 root root   6610 11月 30 20:03 server.xml
-rw------- 1 root root   1530 5月  20 2014 tomcat-users.xml
-rw------- 1 root root 163385 5月  20 2014 web.xml

配置文件说明如下:

  • catalina.policy:权限控制配置文件;
  • catalina.properties:Tomcat属性配置文件;
  • context.xml:上下文配置文件;
  • logging.properties:日志log相关配置文件;
  • server.xml:主配置文件;
  • tomcat-users.xml:manager-gui管理用户配置文件(Tomcatt安装后提供一个manager-gui的管理界面,通过配置该文件可以开启访问);
  • web.xml:Tomcat的servlet、servlet-mapping、filter、MIME等相关配置;

3、Tomcat主配置文件说明

server.xml为Tomcat的主要配置文件,通过配置该文件,可以修改Tomcat的启动端口、网站目录、虚拟主机、开启https等重要功能。

整个server.xml由以下结构构成:

以下是默认安装server.xml文件的部分内容,其中内的内容时注释信息。//号开头是我自行进行的批注:

[root@Centos01 tomcat8]# vim conf/server.xml

............                                 //省略部分内容
                
//Tomcat关闭端口,默认只对本机地址开放,可以在本机通过Telnet  127.0.0.1 8005访问,
//对Tomcat进行关闭操作
............                               //此处省略部分内容
 
//Tomcat启动的默认端口号8080,可以根据需要进行更改。
............                             //此处省略部分内容
 
    
//Tomcat启动AJP 1.3连接器时默认的端口号,可以根据需要进行更改
............                                 //此处省略部分内容
//以下为Tomcat定义虚拟主机时的配置及日志配置


        
        

        
        

      
    
  

4、Tomcat server的组成部分说明

1)Server

server元素代表了整个CatAlina的servlet容器。

2)Service

Service是这样一个集合:它由一个或者多个Connector,以及一个Engine(负责处理所有Connector所获得的客户请求)组成。

3)Connector

一个Connector在某个指定端口上侦听客户请求,并将获得的请求交给Engine来处理,从Engine处获得回应并返回客户。

  • Tomcat有两个典型的Connector,一个直接侦听来自browser的http请求,一个侦听来自其他webserver的请求。

  • Coyote HTTP/1.1 Connector在端口8080处侦听来自客户browser(浏览)的http请求。

  • Coyote JK2 Connector 在端口8009处侦听来自其他文本server(Apache)的servlet/jsp代理请求。

4)Engine

Engine下可以配置多个虚拟主机virtual host,每个虚拟主机都有一个域名。
当Engine获得一个请求时,它把该请求匹配到某个Host上,然后把该请求交给该host来处理。
Engine有一个默认虚拟主机,当请求无法匹配到任何一个host上时,将交给该默认主机处理。

5)Host

Host代表一个virtual Host,即虚拟主机,每个虚拟主机和某个网络域名Domain Name相匹配。
每个虚拟主机下都可以部署一个或多个web app,每个web app对应一个Context,有一个Context path。

  • 当host获得一个请求时,将把该请求匹配到某个Context上,然后把该请求交给该Context来处理,匹配的方法是“最长匹配”,所以一个path==""的Context将成为该Host的默认Context。

所有无法和其他Context的路径名匹配的请求都将最终和该默认Context匹配。

6)Context

一个Context对应一个web application ,一个web application由一个或者多个servlet组成。

—————— 本文至此结束,感谢阅读 ——————

相关内容

热门资讯

伊朗确认前往美国参加世界杯:将... 当地时间5月6日,伊朗国家足球队主教练在接受采访时表示,伊朗国家足球队将于美加墨世界杯开始前14天抵...
雷达、机库、营房、燃料库、飞机... 据《华盛顿邮报》5月6日报道,通过卫星影像分析发现,自2月28日战事爆发以来,伊朗空袭已在中东美军军...
从买买买到租租租,“租用一代”... “五一”假期还在路上,年轻人已经“租”起来了。 “租三天,不到300块钱。”五一放假前一周,清清已给...
【品牌】摩托罗拉大折叠屏新机定... 此前联想预热将于5月19日19点举行联想天禧AI一体多端全场景新品超能之夜活动,届时将带来多款新品,...
常州欣隽益取得接线端子用快速冲... 国家知识产权局信息显示,常州欣隽益科技有限公司取得一项名为“接线端子用快速冲切装置”的专利,授权公告...
美媒:特朗普在结束伊朗战争问题... 据“国会山”网站5月6日报道,周二晚间,美国总统特朗普突然宣布终止旨在打破伊朗对霍尔木兹海峡掌控的军...
和创硅材料取得熔融石英制品擦洗... 国家知识产权局信息显示,东海县和创硅材料有限公司取得一项名为“一种熔融石英制品的擦洗脱泥装置”的专利...
美商务部长再就爱泼斯坦案接受国... 5月6日,美国商务部长卢特尼克“自愿”就其与爱泼斯坦的关系接受美国国会众议院监督与政府改革委员会的问...
“五一”小长假黄金零售市场新变... 【大河财立方 记者 孙凯杰】 “五一”小长假,黄金价格出现一波短暂调整,线下黄金零售市场热度如何?5...
以军3周来首次袭击黎巴嫩首都 据以色列总理内塔尼亚胡和国防部长卡茨当地时间5月6日晚发表的联合声明,以军当天对黎巴嫩首都贝鲁特南郊...