15158846557 在线咨询 在线咨询
15158846557 在线咨询
所在位置: 首页 > 营销资讯 > 网站运营 > Tomcat 中配置虚拟主机(Host)

Tomcat 中配置虚拟主机(Host)

时间:2023-07-15 19:15:01 | 来源:网站运营

时间:2023-07-15 19:15:01 来源:网站运营

Tomcat 中配置虚拟主机(Host):在配置虚拟主机之前我们要先对 Tomcat 体系架构以及组件有个认识:

一、Tomcat 组件

1、Server 组件

启动一个 Server 实例(即一个 JVM),它监听在 8005 端口以接收 shutdown 命令。 Server 的定义不能使用同一个端口,这意味着如果在同一个物理机上启动了多个 Server 实例,必须配置它们使用不同的端口。

<Server port="8005" shutdown="SHUTDOWN">port:接收 shutdown 指令的端口,默认为 8005;

shutdown:发往此 Server 用于实现关闭 Tomcat 实例的命令字符串(标记),默认为SHUTDOWN;

2、Service 组件

Service 主要用于关联一个引擎和与此引擎相关的连接器,每个连接器通过一个特定的端口和协议接收请求并将其转发至关联的引擎进行处理。因此,Service 要包含一个引擎、一个或多个连接器。

<Service name="Catalina">
name:此服务的名称,默认为 Catalina;
3、Connector 组件

支持处理不同请求的组件,一个引擎可以有一个或多个连接器,以适应多种请求方式。默认只开启了处理 Http 协议的连接器。如果需要使用其他协议,需要在 Tomcat中配置该协议的连接器。

在 Tomcat 中连接器类型通常有4种:
1) HTTP 连接器

2) SSL 连接器(HTTPS协议)

3) AJP1.3 连接器

4) proxy 连接器

<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
port:监听的端口
protocol:连接器使用的协议,默认为 HTTP/1.1;
connectionTimeout:等待客户端发送请求的超时时间,单位为毫秒;
redirectPort:如果某连接器支持的协议是 HTTP,当接收客户端发来的 HTTPS 请求时,则转发至此属性定义的端口;
maxThreads:支持的最大并发连接数,默认为 200 个;
4、Engine 组件

Engine 是 Servlet 处理器的一个实例,即 Servlet 引擎,定义在 server.xml 中的 Service 标记中。Engine 需要 defaultHost 属性来为其定义一个接收所有发往非明确定义虚拟主机的请求的 host 组件。

<Engine name="Catalina" defaultHost="localhost">
name:Engine 组件的名称;
defaultHost:Tomcat 支持基于 FQDN(Fully Qualified Domain Name 全限定域名)的虚拟主机,这些虚拟主机可以通过在 Engine 容器中定义多个不同的 Host 组件来实现;但如果此引擎的连接器收到一个发往非明确定义虚拟主机的请求时则需要将此请求发往一个默认的虚拟主机进行处理,因此,在 Engine 中定义的多个虚拟主机的主机名称中至少要有一个跟 defaultHost 定义的主机名称同名;
5、Host 组件

位于 Engine 容器中用于接收请求并进行相应处理的虚拟主机。通过该容器可以运行 Servlet 或者 JSP 来处理请求。

<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true">
name:虚拟主机的名称,Tomcat 通过在请求 URL 中的域名与 name 中的值匹配,用于查找能够处理该请求的虚拟主机。如果未找到则交给在 Engine 中 defaultHost 指定的主机处理;
appBase:此 Host 的 webapps目录,即指定存放 web 应用程序的目录的路径,默认指向 ROOT 目录下的 index.jsp;
unpackWARs:在启用此 webapps 时是否对 WAR 格式的归档文件先进行展开;默认为 true;
autoDeploy:在 Tomcat 处于运行状态时放置于 appBase 目录中的应用程序文件是否自动进行 部署,默认为 true;
7、Context 组件

Context 是 Host 的子标签,代表指定一个 Web 应用,它运行在某个指定的虚拟主机(Host) 上;每个 Web 应用都是一个 WAR 文件,或文件的目录;server.xml 配置中没有配置 Context 属性,默认支持运行多个项目。

<Context path="/test" docBase="D:/bjsxt/itbaizhan.war"/>
path:context path 既浏览器访问项目的访问路径。
docBase:相应的 Web 应用程序的存放位置;也可以使用相对路径,起始路径为此 Context 所属 Host 中 appBase 定义的路径;

二、Tomcat 中配置虚拟主机(Host)

1、需求

1)创建 index.html 页面

2)将 index.html 资源部署到 D盘 的 demo 目录中

3)通过 http://www.itbz.com:8888/itbz/index.html 访问虚拟主机,并访问 index.html

2、创建页面

创建 index.html 页面:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><HTML> <HEAD> <TITLE>ITBZ</TITLE> <META NAME="Generator" CONTENT="EditPlus"> <META NAME="Author" CONTENT=""> <META NAME="Keywords" CONTENT=""> <META NAME="Description" CONTENT=""> </HEAD> <BODY> Welcome to ITBZ! </BODY> </HTML>3、修改 server.xml 添加 Host 配置

<Host name="www.itbz.com" appBase="webapps" unpackWARs="true" autoDeploy="true"> 4、添加 Context 配置

<Context path="/itbz" docBase="D:/demo" /> 5、修改 windows 的 hosts 文件

修改 Windows 系统中的 hosts 文件做域名与 IP 的绑定。

hosts 文件位置:
C:/Windows/System32/drivers/etc

修改内容:
127.0.0.1 www.itbz.com 6、访问资源测试结果

动态演示:

三、常见问题

常见问题1:修改了 service.xml 配置文件后 Tomcat 闪退问题

仔细检查配置文件的修改内容,xml 语言是特别严谨的语言,多或少个符号亦或是字母大小写的失误都会造成 Tomcat 闪退的问题。

常见问题2:hosts 文件修改后无法保存

解决方法一:

  右击hosts文件,选择属性->安全->编辑,将user用户设置为完全控制。

解决方法二:

  将hosts文件复制到桌面(或其余路径),再编辑保存,再将修改的 hosts 文件复制到原来的路径下并将原来的 hosts 文件替换。系统会提示需要管理员权限才能继续操作,直接按照提示单击继续替换原来的 hosts 文件。

希望能够帮到大家,有问题的可以留言讨论哦!

关键词:主机,虚拟,配置

74
73
25
news

版权所有© 亿企邦 1997-2025 保留一切法律许可权利。

为了最佳展示效果,本站不支持IE9及以下版本的浏览器,建议您使用谷歌Chrome浏览器。 点击下载Chrome浏览器
关闭