目录
前言
Java语言于1995年由Sun Microsystems发布,以其跨平台性和易用性而受到广泛关注。Java的出现推动了Web应用程序的发展,并需要一种容器来运行服务器端的Java代码。
Java Servlet和JavaServer Pages(JSP)规范于1997年发布,为开发基于Java的Web应用程序提供了方便和标准化的手段。这些规范定义了一种在Web服务器上处理动态内容的方式。
Tomcat的诞生和采纳:Tomcat最初由美国互联网社区Apache Jakarta创建并发展。它最早是作为Apache的实验性项目而诞生的,随后发展为独立的开源项目。Tomcat的原型称为"Servlet Reference Implementation"(Servlet RI)。
随着时间的推移,Tomcat逐渐被广泛接受和采用。其开源的特性、可靠性和良好的兼容性使得Tomcat成为许多Java开发人员首选的Servlet容器。
一、概述
Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。
Tomcat虚拟主机是通过linux或windows操作系统下进行独立运行的一个网站发布容器,他是一种在单一主机或主机群上,实现多网域服务的方法,可以运行多个网站或服务的技术。
默认监听端口 8080/tcp
二、安装
Tomcat是一款绿色的开源web
基本环境部署
关闭防火墙 systemctl stop firewalld
关闭图形化管理工具 systenctl stop NetworkManage
关闭selinux getenforce
setenfprce 0
vim /etc/selinux/config
SELINUX= disabled
java环境
java -version(检查Java环境,可以确认Java是否已正确安装,并确定其版本是否符合你的应用程序的要求)
如果没有下载开发工具
将软件包拖入虚拟机终端(已有软件包)
三、目录结构
bin 命令
conf 配置文件
lib 依赖库
logs 日志
webapps 应程序目录
ROOT 访问首页
host-manage 主机管理后台页面
manage 管理后台页面
启停
命令优化 ln -s /usr/local/tomcat/bin/startup.sh /usr/local/bin/catup 启动
ln -s /usr/local/tomcat/bin/shutdown.sh /usr/local/bin/catdown 停止
netstat -anptu | grep java 查看运行状态
四、配置文件
Server 是server.xml的根元素,用于创建一个Server实例,默认使用的实现类是 org.apache.catalina.core.StandardServer。
内嵌的子元素为 Listener、GlobalNamingResources、Service。
port tomcat 监听的关闭服务器的端口。
shutdown 关闭服务器的指令字符串。
Listener <!‐‐ 用于以日志形式输出服务器 、操作系统、JVM的版本信息 ‐‐>
GlobalNamingResources <!‐‐ 可编辑的用户数据库,UserDatabaseRealm也可以使用该数据库对用户进行身份验证 ‐‐>
port 端口号,Connector 用于创建服务端Socket 并进行监听, 以等待客户端请求链接。
protocol 当前Connector 支持的访问协议。 默认为 HTTP/1.1,并采用自动切换机制选择一个基于 JAVA NIO 的链接器或者基于本地APR的链接器(根据本地是否含有Tomcat的本地库判定)
connectionTimeout Connector接收连接后的等待超时时间, 单位为毫秒。 -1 表示不超时。
redirectPort 当前Connector 不支持SSL请求, 接收到了一个请求, 并且也符合 security-constraint 约束, 需要SSL传输,Catalina自动将请求重定向到指定的端口。
Engine 该元素用于创建 Service 实例,默认使用 org.apache.catalina.core.StandardService。
name用于指定Engine的名称, 默认为Catalina 。该名称会影响一部分Tomcat的存储路径(如临时文件)。
default Host默认使用的虚拟主机名称, 当客户端请求指向的主机无效时, 将交由默认的虚拟主机处理, 默认为localhost。
Host Host 元素用于配置一个虚拟主机, 它支持以下嵌入元素:Alias、Cluster、Listener、Valve、Realm、Context。
name 当前Host通用的网络名称,必须与DNS服务器上的注册信息一致。 Engine中包含的Host必须存在一个名称与Engine的defaultHost设置一致。
appBase 当前Host的应用基础目录,当前Host上部署的Web应用均在该目录下(可以是绝对目录,相对路径),默认为webapps
unpackWARs 设置为true,Host在启动时会将appBase目录下war包解压为目录。设置为false, Host将直接从war文件启动。
autoDeploy 控制tomcat是否在运行时定期检测并自动部署新增或变更的web应用。
Context 用于配置一个Web应用,默认的配置如下:
<Context docBase="myApp" path="/myApp">
....
</Context>
docBase Web应用目录或者War包的部署路径。可以是绝对路径,也可以是相对于Host appBase的相对路径。
path Web应用的Context 路径。如果我们Host名为localhost, 则该web应用访问的根路径为: http://localhost:8080/myApp。
启动tomcat使用网络进行测试
五、多tomcat部署
部署
tar xf apache-tomcat-8.5.16.tar.gz
mv apache-tomcat-8.5.16 /usr/local/tomcat1
命令优化
ln -s /usr/local/tomcat1/bin/startup.sh /usr/local/bin/tmstart
ln -s /usr/local/tomcat1/bin/shutdown.sh /usr/local/bin/tmstop
端口号修改
server port
connector port
redirectport(没有加载ssl时不开启)
修改访问页面
vim /usr/local/tomcat/webapps/ROOT/index.html test
重启tomcat1
网络访问测试
六、不同的实现方式
一、基于不同的域名
复制Host字段 <Host></Host>
修改不同Host的name属性,改为不同的域名
修改webapps指定为不同的访问路径
修改日志名称
创建访问目录及首页 mkdir /usr/local/tomcat1/jx1/ROOT -p
vim index.jsp
二、基于不同的端口
复制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