tomcat虚拟目录、主机配置

1.虚拟目录
1.1更改主目录
在默认安装后,tomcat的主目录是webapps/root目录,如果我们想改变tomcat的主目录的话可以这样做:


<Context  path="/"  docBase="/www8080/nms"  debug="0"    reloadable="true"  crossContext="true"/>


path为虚拟路径,访问时的路径,注意:一定要加“/” 
debug建议设置为0,reloadable设置为true。 


这样重新启动tomcat,我们的主目录就被设置为jeasyCMS这个项目了,


主目录的意思是说当访问webserver时,如果没有写明具体项目,系统默认进入的项目目录。


访问地址:http://localhost:8080 


1.2设置虚拟目录


<Context path="/nms" docBase="/www8080/nms" reloadable="true" debug="0">
</Context>


访问地址: http://localhost:8080/nms


由上可知,主目录还是虚拟目录主要是path的设置


*额外说明:
  我们设置虚拟目录和主目录,都会在C:\Tomcat\conf\Catalina\localhost目录下生成相应的Xml文件,因此,当我们在 server.Xml里面删除了主目录和虚拟目录的设置后,如果系统还没有生效,这时候我们就要察看一下这个目录下的Xml文件是不是已经被删除了,如果 没有被删除,他还是对tomcat起作用的,我们必须手动删除。  
  通过测试发现,每当我们访问一个地址的时 候,tomcat首先是到C:\Tomcat\conf\Catalina\  localhost目录下去察看有没有存在主目录或虚拟目录的Xml文件,如果有Xml文件,就按Xml里的路径进行访问,如果没有Xml文件,就到  server.Xml文件里去察看是否配置context标签,如果配置了context标签,则在C:\Tomcat\conf\Catalina\  localhost目录下生成一个对应的Xml文件,以便于下次直接验证而不再访问server.Xml,与此同时打开context里指定的路径,如 果  server.Xml里没有配置context标签,则返回访问错误页面。  


  基于以上,我们其实可以直接在C:\Tomcat\conf\Catalina\localhost下建立一个Xml文件,用于主目录或者虚拟目录,而不需要去修改server.Xml就可以达到配置主目录和虚拟目录的目的,具体Xml的格式可以如下:


<?Xml  version='1.0'  encoding='utf-8'?>
<Context  crossContext="true"  docBase="E:/tomcatApp/JeasyCMS"  path=""  reloadable="true">
</Context>






具体是主目录的配置还是虚拟目录的配置取决于path的值。另外主目录文件名必须是ROOT.Xml(root大写),而虚拟目录的文件名称和虚拟目录的名称一致并且为小写,譬如:  


<?Xml  version='1.0'  encoding='utf-8'?>
<Context  crossContext="true"  docBase="E:/tomcatApp/JeasyCMS"  path="\cms"  reloadable="true">
</Context>


以上则定义了一个名为:cms的虚拟目录,同时要将以上文本保存为cms.Xml文件。
///
Tomcat里 appBase和docBase的区别 
<host appBase="d:/aaa">
<Context path="/smswap" reloadable="true" docBase="D:\workspace\smswap\WebRoot"></Context>
</host>


我们先看appBase,这个目录表示:
1 这个目录下面的子目录将自动被部署为应用。
2 这个目录下面的.war文件将被自动解压缩并部署为应用


而docBase只是指向了你某个应用的目录,这个可以和appBase没有任何关系。


总结:
如果你想自己指定路径,那么应该在docBase里面
如果你想简单,那么直接把他们复制到appBase下面就行了


如果你把他们弄重复了,也就是2个指向了一个目录,看上去也能运行,但你的应用下面的每个子目录,其实是被部署为单独的应用的。
比如你的应用为


myApp, 放在了
d:\project\myApp
里面有2个子目录
d:\project\myApp\images
d:\project\myApp\js


你可以通过
(1) 设置 appBase 指向 d:\project 来让系统自动部署
(2) 你可以手工指定docBase到 d:\project\myApp
(3) 如果你指定了 appBase到 d:\project\myApp 那么
d:\project\myApp\images这个将不再是普通的子目录,而是一个单独的虚拟目录,或者叫应用了。因为其被自动部署
d:\project\myApp\js 也一样的后果 
2.虚拟主机


<Host name="www.nms.com" debug="0" appBase="webapps">
  <Context path="" docBase="nms" debug="0"/>  
</Host> 


虚拟目录和虚拟主机的区别是,一个在host内,一个是新建host




3.tomcat同时打开多个端口


就是server.xml中的service标签内容重新复制一遍,并修改相应端口即可


并修改  <Service name="Catalina"> 为  <Service name="Catalina2">
  <Engine name="Catalina" defaultHost="localhost">为 <Engine name="Catalina2" defaultHost="localhost">









  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值