文章目录
- 核心结构
- localhost主机域名
- 配置虚拟目录
- 在主机配置中添加``标签
- 在主机目录中添加配置
- 配置虚拟主机
- 查看域名
- 配置第一个虚拟主机
- 默认主机`Engine`标签
- 配置默认应用
- 修改默认端口号
本文所有的操作基于
apache-tomcat-9.0.52\conf\server.xml
核心结构
- Host:主机域名
- Context:主机中的应用名称
- Connector:由指定端口号所对应的程序通过指定访问协议所创建的来凝结对象
localhost主机域名
我们所部署到 Tomcat 的 webapps 中的各个应用,其实是作为默认主机 localhost 的子应用模块出现的。
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true">
</Host>
- name:主机名,即域名
- appBase:该主机所对应的目录。该目录是一个相对于 Tomcat 安装目录的相对路径。
- unpackWars:是否会自动解压 war 包。为 true,则会自动解压。
- autoDeploy:在服务器运行状态下,将一个项目放入当前目录中,是否会自动部署到服务器,由 Tomcat 来管理。即将一个项目放入当前目录中是否会自动运行在 Tomcat 下。为 true,则会自动运行。
若<Host/>
中包含<Context/>
子标签,则该<Context/>
标签所指定的项目将通过该主机域名访问。当然,appBase 目录中所有的项目默认也是通过该主机域名访问的。
配置虚拟目录
在主机配置中添加<Context/>
标签
就是在Host
标签内部添加
<Context path="/webapp" docBase="E:/000Java/000JavaWeb/manual"/>
- path:指定在当前主机域名下访问该应用的 URI。
- docBase:指定应用目录的路径。
缺陷: 每次修改server.xml
后需要重新启动Tomcat
在主机目录中添加配置
在server.xml
中<Engine name="Catalina" defaultHost="localhost">
会自动创建一个文件目录
我们在localhost
中新建一个xml
文件,并写入以下代码
<Context docBase="E:/000Java/000JavaWeb/manual"/>
这里我们直接通过xml
的文件名访问
配置虚拟主机
查看域名
只所以我们通过域名 locahost 可以访问本机,是因为我们 Windows 系统本身也充当前DNS 服务器的角色。
C:/Windows/System32/drivers/etc/hosts
这里localhost
域名所对应的 IP 地址为 127.0.0.1
,即本地回送地址,表示本机。
配置第一个虚拟主机
- 在Tomcat下的
webapps
创建同级目录mywebapps
- 在
server.xml
下添加一个Host标签
<Host name="www.hello.com" appBase="mywebapps"
unpackWARs="true" autoDeploy="true">
</Host>
- 修改
hosts
文件需要管理员权限
默认主机Engine
标签
指如果直接通过 127.0.0.1
访问,则是默认localhost
<Engine name="Catalina" defaultHost="localhost">
<Engine/>
配置默认应用
默认与ROOT
对应
既然这直接与ROOT
对应,那我们直接把自己的网页作为ROOT
即可
修改默认端口号
修改在server.xml
下添加一个Connector标签
若8080端口号被占用了,则可进行修改
在应用真正上线后,默认端口号是必须修改为 80 的。因为浏览器发出的 HTTP 请求默认端口号为 80。所以在项目真正上线后,会将 Connector 的默认端口号改为 80。这样的话, 用户通过浏览器提交 HTTP 请求,就不用再写端口号了。