深入浅析Centos 7系统的Tomcat服务器
一、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/ <!--挂载linux光盘--> mount: /dev/sr0 写保护,将以只读方式挂载 [root@centos02 ~]# tar zxvf /mnt/jdk-7u65-linux-x64.gz -c /usr/src/ <!--解压缩jdk软件包--> [root@centos02 src]# ls debug jdk1.7.0_65 kernels [root@centos02 src]# mv jdk1.7.0_65/ /usr/src/java <!--安装jdk--> [root@centos02 ~]# vim /etc/profile.d/java.sh<!--配置jdk运行环境变量--> 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 <!--运行jdk-->
二、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>、<service>、<connector /><engine >、<host>、<context>、</context></host></engine></service>和</server>。
以下是默认安装server.xml文件的部分内容,其中<!-- -->内的内容时注释信息。//号开头是我自行进行的批注:
[root@centos01 tomcat8]# vim conf/server.xml <?xml version="1.0" encoding="utf-8"?> ............ //省略部分内容 <server port="8005" shutdown="shutdown"> //tomcat关闭端口,默认只对本机地址开放,可以在本机通过telnet 127.0.0.1 8005访问, //对tomcat进行关闭操作 ............ //此处省略部分内容 <connector port="8080" protocol="http/1.1" connectiontimeout="20000" redirectport="8443" /> //tomcat启动的默认端口号8080,可以根据需要进行更改。 ............ //此处省略部分内容 <!-- define an ajp 1.3 connector on port 8009 --> <connector port="8009" protocol="ajp/1.3" redirectport="8443" /> //tomcat启动ajp 1.3连接器时默认的端口号,可以根据需要进行更改 ............ //此处省略部分内容 //以下为tomcat定义虚拟主机时的配置及日志配置 <host name="localhost" appbase="webapps" unpackwars="true" autodeploy="true"> <!-- singlesignon valve, share authentication between web applications documentation at: /docs/config/valve.html --> <!-- <valve classname="org.apache.catalina.authenticator.singlesignon" /> --> <!-- access log processes all example. documentation at: /docs/config/valve.html note: the pattern used is equivalent to using pattern="common" --> <valve classname="org.apache.catalina.valves.accesslogvalve" directory="logs" prefix="localhost_access_log" suffix=".txt" pattern="%h %l %u %t "%r" %s %b" /> </host> </engine> </service> </server>
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组成。
总结
以上所述是小编给大家介绍的centos 7系统的tomcat服务器,希望对大家有所帮助