虚拟主机tomcat(虚拟主机和服务器一样吗?有何区别?)

admin 136 2022-12-12

阿里云服务器优惠多,折扣错,惊喜多,请咨询:www.wqiis.com

本文目录一览:

虚拟主机上tomcat的安装

Tomcat在安 (装建议选用Tomcat6.0.x版本,下载通用版本Tomcat6.0.tar.gz格式)

1.将Tomcat6.0.tar.gz通过FTP上传到/usr/local/ 目录

2. tar zxvf Tomcat6.0.tar.gz (解压安装包)

3.cd bin

3.执行 ./startup.sh (启动tomcat服务, shutdown.sh为终止tomcat服务

tomcat监听端口默认为8080端口)

简单写了下。如果部署JAVAWEB 项目,先装JDK

https://www.wqiis.com/news/zb_users/upload/editor/water/2022-12-12/6397318c41d3c.jpeg" title="虚拟主机tomcat(虚拟主机和服务器一样吗?有何区别?)">

Tomcat 组件简介

title: Tomcat 组件简介

date: 2020/05/06 17:19

先简单介绍一下 Tomcat 中的各种组件,要不你后面听不懂

conf/server.xml

根据Tomcat自身的分类,上面这些元素可以分成四种:

一个Tomcat只有一个 Server.xml,即 一个Tomcat实例只有一个Server 。

它不是一个容器,它只是单纯地扮演着一个包裹的角色。

它代表 Tomcat 实例本身。

Server可配置的属性很少。根据上面摘录的默认配置,Server会侦听localhost的TCP端口8005,当该端口接收到字符串"SHUTDOWN"时,即执行关闭Tomcat操作。

Server有两种特有的组件,一个是GlobalNamingResources(全局命名资源),一个是Service(服务)。

除此之外,还可以有Listener(监听器)这种可以作用于不同层次容器的组件。Server默认配置了六种Listener。配置在Server这一层的Listener对所有容器起作用。

它代表整个 Tomcat 实例,因此它还有一个作用,就是监听 SHUTDOWN 请求。

它是一个顶层组件,用于包裹它下面的多个 Service 组件。

一个Service就是一个完整的服务, 负责将若干个Connector和一个Engine(引擎)包裹在一起 。除此之外,Service还可以配置一个Executor(共享线程池)用于管理所有Connector的线程数量。

如图所示,Service有Executor、Connector和Engine三种组件。其中,每个Connector负责侦听一个TCP端口,接收相应的请求,并转发给绑定的Engine处理。Engine处理完后,通过Connector把结果返回给客户端。在配置了Executor的情况下,所有Connector的线程受Executor统一管理。

它的作用是将多个连接器与容器实例联系起来,使得不同协议的请求可以使用同一个容器来处理。

Engine是Service的请求处理引擎,负责处理所有Connector发过来的请求,并将内部处理完毕的结果返回给Connector。它是最外层的容器。

Engine.name - 引擎的名称

Engine.defaultHost - 默认采用哪一个子容器Host来处理请求

Engine 的作用是可以采用一个连接器接收请求并映射到不同的域名中

一个Host就是一个虚拟主机,对应一个或多个域名。

Host.name - 主机名称(域名)

默认配置定义了一个名为 localhost 的主机。至少要有一个Host的名称与Engine的defaultHost一致。

除了域名外,Host可以通过子节点alias来配置别名。别名的作用与域名一致。例如:

其作用机制如下图所示:

Host.appBase - 虚拟主机的根目录

Host.unpackWARs - 放到 webapps 目录下的 WAR-file 是否应该被解压

Host.autoDeploy - 是否自动部署放到 webapps 目录下的应用

Context代表Host下面的一个虚拟目录。

默认是不配置的

Context.docBase - 应用程序的路径或者是WAR文件存放的路径

Context.path - 此web应用程序的上下文路径

Context.reloadable - 是否支持热部署

如果为true,则tomcat会自动检测应用程序的/WEB-INF/lib 和/WEB-INF/classes目录的变化,并通过类加载器重新加载class文件,以实现在不重启tomcat的情况下重新部署。

Context.crossContext - 不同context是否共享session

开头说过,Connector就是墙上的插座,负责侦听一个具体的TCP端口,并通过该端口处理Engine与客户端之间的交互。默认配置定义了两个 Connector:

Valve的中文含义是阀门,可以简单地理解为Tomcat的拦截器。它负责在请求发送到应用之前拦截HTTP请求,可以定义在任何容器中。默认配置中定义了一个AccessLogValve,负责拦截HTTP请求,并写入到日志文件中。

Listener即监听器,负责监听服务器端的行为。此处需要了解的监听器有两个:

请求地址为:

Tomcat虚拟主机配置

站点根目录为: c:\wwwroot

站点一目录为: c:\wwwroot\aaa , 域名为

站点二目录为: c:\wwwroot\bbb , 域名为

站点三目录为: c:\wwwroot\ccc , 域名为

Tomcat 配置文件为: tomcat路径/conf/server.xml

站点根目录为: c:\wwwroot

站点一目录为: c:\wwwroot\aaa , 域名为

站点二目录为: c:\wwwroot\bbb , 域名为

Tomcat 配置文件为: tomcat路径/conf/server.xml

注: 若需不同域名访问将 Host name="localhost" appBase="c:\wwwroot" unpackWARs="true" autoDeploy="true" name 字段改为对应域名即可,多个域名可在 Host 标签内添加一个或多个 Alias;/Alias 即可。其中 Connector port、defaultHost、Hostname、appBase、docBase、日志 prefix 为你实际的即可。

a. 可以将不同 service 组件的 Engine name 都指定成 Catalina。

b. 可以将不同 service 组件的 Host appBase 指定成默认的 webapps。

c. Context docBase="/data/java/appstore-web" path="" reloadable="true" / 这个用于配置根路径项目,也就是 /data/java/appstore-web 包访问时是通过 ip:port 来访问,而不是传统的 ip:port/app

假设:

第一个tomcat文件夹为tomcat8-1,路径为 /home/tomcat8-1/

第二个tomcat文件夹为tomcat8-2,路径为 /home/tomcat8-2/

分别修改 tomcat 文件夹 /conf 目录下 server.xml 的监听端口为不同端口。

分别启动 tomcat 文件夹 /bin 目录下的 startup.sh 启动tomcat,停止同上文。

即可运行多个tomcat。

注:根据官方文档 tomcat8.5 且 JAVA7 及其以上才支持 SNI。如果 tomcat 版本较低且需要绑定多个域名情况下,建议使用反向代理方式部署 HTTPS。

在 Connector port="8080" 配置字段下新增 443 端口监听设置即可。

注:若IIS反向代理tomcat绑定https时,选择上启用SSL卸载。以免tomcat未配置HTTPS访问的情况下请求得不到正常响应。

如:

修改配置文件 tomcat路径/conf/tomcat-users.xml :

如何在Tomcat中配置虚拟主机

Host name="" appBase="webapps"

unpackWARs="true" autoDeploy="true"

Context path="" docBase="D:\test" reloadable="true" /

Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"

prefix="longshuai_access_log" suffix=".txt"

pattern="%h %l %u %t "%r" %s %b" /

/Host

主要就是添加Host节点,比如我上面写的

name就是输入到地址栏中的访问地址

Context path="" docBase="D:\test" reloadable="true" /添加一个虚拟路径你把项目放到这个下面 就行。

当然还没结束,你还要在机器上做一个域名解析

比如windows下面

C:\Windows\System32\drivers\etc\hosts中添加如下记录:

服务器的ip

-------------------就这些了针对问题,给出回答,就不说的太复杂了。

上一篇:serverless腾讯云(腾讯云serverless入门)
下一篇:阿里云NLP自学习平台(nlp入门)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~