(二)tomcat服务器配置虚拟主机

来源:互联网 发布:福州广电网络 编辑:程序博客网 时间:2024/05/23 01:56
  1. 基于主机名的虚拟主机配置

配置虚拟主机就是配置一个网站,在tomcat配置一个虚拟主机(网站),需要修改conf文件夹下的server.xml这个配置文件,使用Host元素进行配置。在server.xml文件可以看到tomcat自带的一个名称为localhost的虚拟主机,如下图所示:
这里写图片描述
平时我们将开发好的应用放到webapps文件夹下,然后就可以使用”Http://localhost:端口号/虚拟目录名”的方式去访问了,其实访问的就是name是”localhost”的那台虚拟主机(Host),这台虚拟主机管理webapps文件夹下所有的应用。我们可以使用如下的方式配置一个虚拟主机

<Host name="www.parade.com" appBase="E:\JavaWeb" unpackWARs="true" autoDeploy="true">    <Context path="" docBase="E:\JavaWeb\JavaWebDemoProject" /></Host>

注意:上述配置应在</Engine>元素之内,和原来的<Host>元素是并列的关系。

接下来就要在windows系统中注册域名了:

配置的主机要想通过域名被外部访问,必须在dns服务器或windows系统中注册访问网站使用的域名,找到C:\Windows\System32\drivers\etc”目录下的hosts文件,然后编辑这个文件,将新添加的网站域名和IP绑定在一起,这样就可以在浏览器中使用www.parade.com访问它管理的应用文件夹下的应用了。
这里写图片描述
这里我们新配置一个虚拟主机,虚拟主机的名是www.parade.com,它管理着E:\JavaWeb下的所有应用。平时我们访问的www.baidu.com其实就是在访问一个名称是www.baidu.com的虚拟主机。这个时候如果在E:\JavaWeb\JavaWebDemoProject项目下有一个index.html(在web.xml里可以配置主页的文件名),并且把端口改成80,那么在浏览器输入www.parade.com就能浏览你自己定义的index.html了。
这里写图片描述
当然也可以采用这样的方式访问:
这里写图片描述
以及访问应用下的其它web资源:
这里写图片描述
2. 基于端口的虚拟主机的配置:
在service.xml文件里加入一段<Sevice>配置,如下:注意这段配置和原有的<Service>配置也是并列的关系

<Service>    <Connector connectionTimeout="20000" port="8081" protocol="HTTP/1.1" redirectPort="8443"/>    <Engine  name="parade" debug="0">        <Host appBase="E:\JavaWeb" autoDePloy="true" name="www.parade.com" unpackWARs="true">            <Context path="" docBase="E:\JavaWeb\JavaWebDemoProject" />      </Host>    </Engine>  </Service>

这相当于在同一个tomcat下可以同时访问两个应用,但是要修改应用的端口号,保证它们的端口号不相同:如下访问效果
这里写图片描述

当我们在浏览器输入url后,其实在浏览器和服务器之间实现经历了这样一个过程:

  1. 浏览器根据域名”www.parade.com”去操作系统的Host文件中查找主机名对应的ip地址
  2. 浏览器如果在操作系统的Host文件没有找到对应的IP地址,就会去物联网上的DNS服务器上查找域名对应的IP地址
  3. 浏览器找到域名对应的IP地址后,就是用IP地址(tcp/ip)协议连接到web服务器
  4. 浏览器连接到服务器后,就是用http协议向服务器发送请求,获得想要得到的资源。

这里都是在电脑上同时只有一个tomcat在运行,学习交流可以叫q:362941236

原创粉丝点击