目录
一、概述
1.概念
Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。
2.作用
Tomcat虚拟主机是通过linux或windows操作系统下进行独立运行的一个网站发布容器,他是一种在单一主机或主机群上,实现多网域服务的方法,可以运行多个网站或服务的技术。
3.监听端口
8080/tcp
二、部署安装
1.基础配置
-
[root@localhost ~]# systemctl stop NetworkManager
-
[root@localhost ~]# systemctl stop firewalld
-
[root@localhost ~]# setenforce 0
-
sed -i "/s/ONBOOT=no/ONBOOT=yes/" /etc/sysconfig/network-scripts/ifcfg-ens33
-
systemctl restart network
2.Java环境
2.1 查看环境
java -version
2.2 没有环境
yum groupinstall "开发工具"
下载JDK软件包
3.案例
-
tar xf apache-tomcat-8.5.16.tar.gz
-
mv apache-tomcat-8.5.16 /usr/local/tomcat8
三、目录结构
1.bin
命令
2.logs
日志
3.conf
配置文件
4.webapp
应用程序目录
-
ROOT
-
访问首页
-
-
host-manager
-
主机管理后台页面
-
-
manager
-
管理后台页面
-
四、启停
1.命令优化
-
ln -s /usr/local/tomcat/bin/startup.sh /usr/local/bin/btomcat
-
ln -s /usr/local/tomcat/bin/shutdown.sh /usr/local/bin/stomcat
2.启动tomcat
btomcat
3.停止tomcat
stomcat
4.查看运行状态
netstat -anptu | grep java
五、配置文件
1.server.xml
1.1 Server
Server是server.xml的根元素,用于创建一个Server实例,默认使用的实现类是 org.apache.catalina.core.StandardServer。
内嵌的子元素为 Listener、GlobalNamingResources、Service。
1.1.1 port
tomcat 监听的关闭服务器的端口。
1.1.2 shutdown
关闭服务器的指令字符串。
1.2 Listener
用于以日志形式输出服务器 、操作系统、JVM的版本信息。
1.3 GlobalNamingResources
编辑的用户数据库,UserDatabaseRealm也可以使用该数据库对用户进行身份验证
1.4 Service
该元素用于创建 Service 实例,默认使用 org.apache.catalina.core.StandardService。默认情况下,Tomcat 仅指定了Service 的名称, 值为 “Catalina”。Service 可以内嵌的元素为 : Listener、Executor、Connector、Engine。
1.4.1 Connector
executor:指定共享线程池的名称, 也可以通过maxThreads、minSpareThreads 等属性配置内部线程池。
URIEncoding:用于指定编码URI的字符编码, Tomcat8.x版本默认的编码为UTF-8 , Tomcat7.x版本默认为ISO-8859-1。
maxThreads:池中最大线程数。
minSpareThreads:活跃线程数,也就是核心池线程数,这些线程不会被销毁,会一直存在。
acceptCount:接收的连接数。
maxConnections:接收的最大连接数。
compression:是否压缩。
compressionMinSize:压缩的大小。
disableUploadTimeout:禁用上传超时。
1.4.1.1 port
端口号,Connector 用于创建服务端Socket 并进行监听, 以等待客户端请求链接。如果该属性设置为0,Tomcat将会随机选择一个可用的端口号给当前Connector使用。
1.4.1.2 protocol
当前Connector 支持的访问协议。 默认为 HTTP/1.1,并采用自动切换机制选择一个基于 JAVA NIO 的链接器或者基于本地APR的链接器(根据本地是否含有Tomcat的本地库判定)
1.4.1.3 connectionTimeout
Connector接收连接后的等待超时时间, 单位为毫秒。 -1 表示不超时。
1.4.1.4 redirectPort
当前Connector 不支持SSL请求, 接收到了一个请求, 并且也符合 security-constraint 约束, 需要SSL传输,Catalina自动将请求重定向到指定的端口。
1.4.2 Engine
Engine 作为Servlet 引擎的顶级元素,内部可以嵌入: Cluster、Listener、Realm、 Valve和Host。
1.4.2.1 name
用于指定Engine的名称, 默认为Catalina 。该名称会影响一部分Tomcat的存储路径(如临时文件)。
1.4.2.2 defaultHost
默认使用的虚拟主机名称, 当客户端请求指向的主机无效时, 将交由默认的虚拟主机处理, 默认为localhost。
1.4.2.3 Host
Host 元素用于配置一个虚拟主机, 它支持以下嵌入元素:Alias、Cluster、Listener、Valve、Realm、Context。
1.4.2.3.1 name
当前Host通用的网络名称,必须与DNS服务器上的注册信息一致。 Engine中包含的Host必须存在一个名称与Engine的defaultHost设置一致。
1.4.2.3.2 appBase
当前Host的应用基础目录,当前Host上部署的Web应用均在该目录下(可以是绝对目录,相对路径),默认为webapps
1.4.2.3.3 unpackWARs
设置为true,Host在启动时会将appBase目录下war包解压为目录。设置为false, Host将直接从war文件启动。
1.4.2.3.4 autoDeploy
控制tomcat是否在运行时定期检测并自动部署新增或变更的web应用。
1.5 Context
Context 用于配置一个Web应用,默认的配置如下:
<Context docBase="myApp" path="/myApp">
....
</Context>
1.5.1 docBase
Web应用目录或者War包的部署路径。可以是绝对路径,也可以是相对于Host appBase的相对路径。
1.5.2 path
Web应用的Context 路径。如果我们Host名为localhost, 则该web应用访问的根路径为: http://localhost:8080/myApp。
2.tomcat-user.xml
主要配置的是Tomcat的用户,角色等信息,用来控制Tomcat中 host-manager、manager的访问权限。
3.web.xml
web.xml 是web应用的描述文件, 它支持的元素及属性来自于Servlet 规范定义 。 在Tomcat 中, Web 应用的描述信息包括 tomcat/conf/web.xml 中默认配置以及 Web应用 WEB-INF/web.xml 下的定制配置。
六、多tomcat服务部署
1.部署
-
tar xf apache-tomcat-8.5.16.tar.gz
-
mv apache-tomcat-8.5.16 /usr/local/tomcat1
2.命令优化
-
ln -s /usr/local/tomcat1/bin/startup.sh /usr/local/bin/tmstart
-
ln -s /usr/local/tomcat1/bin/shutdown.sh /usr/local/bin/tmstop
3.端口号修改
vim /usr/local/tomcat1/conf/server.xml
4.修改访问页面
-
vim /usr/local/tomcat8/webapps/ROOT/index.jsp
-
<% out.println("tomcat"); %>
-
七、虚拟主机
1.基于不同的域名
复制Host字段
-
<Host></Host>
修改不同Host的name属性,改为不同的域名
修改webapps指定为不同的访问路径
修改日志名称
创建访问目录及首页
-
mkdir /usr/local/tomcat8/xxx/ROOT -p
-
vim index.jsp
2.基于不同的端口
复制Service字段
-
<Service></Service>
修改Service的name属性
修改Engine的name属性
修改Host的name及appbase属性
修改日志名称
端口号修改
-
service
-
port
-
-
connector
-
port
-
redirectport
-
在webapps1中创建ROOT目录并写入首页
-
mkdir /usr/local/tomcat/webapps1/ROOT
-
vim index.jsp
3.访问测试