现在的位置: 首页 > 综合 > 正文

基于同一ip,多个域名的tomcat的配置

2017年11月11日 ⁄ 综合 ⁄ 共 2063字 ⁄ 字号 评论关闭

(1)用文本编辑器打开<Tomcat主目录>/conf目录下的Server.xml文件,使用“查找”菜单查找内容为“</Host>”的行,紧接该行下面增加一

对<Host></Host>标签。参照前面的<Host>标签的属性设置情况,设置新增的<Host>标签的属性,并在它里面嵌套一个设置该WEB站点根目录的

<Context>元素,最终的内容如下:
<Host name="site1" debug="0" appBase="d:/VirtualHost1">
<Context path="" docBase="." debug="0"/>
</Host>
这样,将创建一个新的WEB站点。上面的<Context>元素的docBase属性值被设置为一个点(.),即表示使用<Host>元素的appBase属性中所设置

的路径作为这个<Context>所映射的目录。
(2)在上面新增的<Host></Host>标签对下面再增加一对<Host></Host>标签,并将它设置为如下形式:
<Host name="site2" debug="0" appBase="d:/VirtualHost2">
<Context path="" docBase="." debug="0"/>
</Host>
这又创建了一个新的WEB站点,该站点的主机名称为site2,根目录对应的本地文件系统目录为d:/VirtualHost2。
(3)在d:盘下创建名称为VirtualHost1和VirtualHost2两个目录,并在这两个目录中分别创建一个名为test.html的文件,在

d:/VirtualHost1/test.html文件中写入如下一行内容:
这是d:/VirtualHost1目录中的test.html文件
在d:/VirtualHost2/test.html文件中写入如下一行内容:
这是d:/VirtualHost2目录中的test.html文件
(4)保存修改后的Server.xml文件,重新启动Tomcat WEB服务器程序。打开一个新的命令行窗口中,并在这个命令行窗口中执行如下命令:
telnet 127.0.0.1 8080
接着在连接成功的telnet程序命令窗口中,输入如下内容:
GET /test.html HTTP/1.1<回车>
Host:<空格>site1<回车>
<回车>
这时在telnet程序窗口中可以看到,WEB服务器返回内容的正文部分为d:/VirtualHost1/test.html文件中的内容。接着WEB服务器返回内容的下

边,输入如下内容:
GET /test.html HTTP/1.1<回车>
Host:<空格>site2<回车>
<回车>
在telnet程序窗口中又可以看到,WEB服务器这次返回内容的正文部分为d:/VirtualHost2/test.html文件中的内容。接着WEB服务器返回内容的

下边,输入如下内容:
GET /test.html HTTP/1.1<回车>
Host:<空格><回车>
<回车>
在telnet程序窗口中又可以看到,WEB服务器这次返回内容的正文部分为d:/test/test.html文件中的内容。接着WEB服务器返回内容的下边,再

次输入如下内容:
GET /test.html HTTP/1.1<回车>
Host:<空格>xxx<回车>
<回车>
在telnet程序窗口中又可以看到,WEB服务器这次返回内容的正文部分仍然为d:/test/test.html文件中的内容。
Tomcat 根据第1次和第2次请求中所指定Host头的值,查找Server.xml文件中与之相匹配的<Host>元素的name属性值,并以匹配的 <Host>元素

所设置的WEB站点来响应;在第3次和第4次请求中所指定Host头的值,在Server.xml文件中没有与之对应的 <Host>元素的name属性值,Tomcat

将以默认的WEB站点来响应。
(5)用记事本程序打开c:/winnt/System32/Drivers/Etc/Hosts文件,可以看到有如下一行内容:
127.0.0.1       localhost
紧接这行文本的下面,用它复制出两行文本,并将这两行文本中的localhost分别修改成site1和site2,这样,就使用Hosts文件为当前计算机

设置了多个主机名。如果要用site1和site2这个两主机名访问其他计算机上的WEB站点,则应将127.0.0.1修改成其他计算机的实际IP地址。保

存Hosts文件后,在命令行窗口中执行“ping site1”和“ping site2”命令,查看该主机名是否被正确解析到了相应的IP地址上。建立site1

和site2与计算机IP地址的映射后,在IE浏览器地址栏中输入 http://localhost:8080/test.htmlhttp://site1:8080/test.html和http:

//site2:8080/test.html,可以看到浏览器将显示出各自站点中的test.html网页文件的内容。

抱歉!评论已关闭.