Tomcat 服务器是一个免费的开放源代码的Web应用服务器,属于轻量级应用服务器,在一台机器上配置好Apache 服务器,就代表可利用它响应别人访问自己建立的网站页面的请求。 Tomcat的安装过程很简单,这里直接跳过。 下面我们先来认识Tomcat的文件目录
1.Tomcat目录结构
安装好后的Tomcat根目录
目录用途解释如下: bin 存放启动和停止Tomcat等操作的批处理文件 conf 存放tomcat所有配置信息的文件,这个最常用下面会详细介绍 lib 存放tomcat所有功能和jar包,这个可能跟java处理前端的请求有关,没有了解,以后再说 logs 存放tomcat运行时的日志文件 temp 临时文件 work 处理JSP页面的工作目录 webapps tomcat默认的网站站点发布目录
2.认识网站目录
网址其实就反映了文件在服务器上的地址
http://www.jianshu.com/u/418815ac232b
↑以这个URL为例:
www.jianshu.com代表的是域名/主机名,它与服务器上网站根目录的物理地址有映射关系,一个物理地址可以对应多个域名,不能一个域名对应多个物理地址。
/u代表了在服务器中网站文件夹的物理目录下的物理子目录,或者物理地址不位于网站根目录下其他位置的虚拟子目录,后面的/。。。同理
Tomcat默认的网站站点根目录为tomcat\webapps\ROOT,通过查看tomcat\conf\server.xml可以找到
↑appBase里填写的是网站的根目录,这里使用了相对路径,相对于tomcat安装目录
docBase里填写的是子目录,当appBase和docBase是父子关系的话,path属性是无效的
那么我们想修改这个默认根目录该怎么办呢?
3.修改网站根目录、虚拟子目录
(1)修改根目录
在conf文件夹里
server.xml和web.xml是最常使用的配置文件,server文件可以配置网站的根目录、虚拟目录、访问端口、主机域名等,web文件主要配置默认的打开的文件。
打开server.xml,修改情况如下:
没有配置子目录
配置子目录
(2)修改虚拟子目录
如上图所示,我把网站根目录设在C盘tomcat里,然后设置了D盘中的目录作为子目录,这就是虚拟子目录,path属性指明了localhost/之后接什么表示进入子目录
但是在server.xml中修改context这种做法tomcat官方已经不提倡了,现在建议在tomcat\conf\catalina\localhost中创建以虚拟目录名命名的xml文件,并在其中写相应的context。做法如下:
此时的path属性也是无效的,总之,path属性只有appBase和docBase不同路径时才有效
4.部署目录默认网页
有没有很好奇为什么这两个是一样的,因为在conf/web.xml中tomcat为你配置了的目录默认网页。
这表示默认从index.html开始扫描,没有就继续找.htm,.jsp
为你自己的网站部署默认网页
复制tomcat\webapps\ROOT\WEB-INF\web.xml到自己网站的根目录下(同样为自己网站创建WEB-INF文件夹),然后修改welcom-file
5.配置虚拟主机
了解server.xml配置文件处理HTTP请求
<Server> //提供了一个servlet接口 <Service> <Connector /> //负责接收浏览器发来的连接请求,可以有多个 <Engine> //顶级容器组件,代表一个servle引擎 <Host> //虚拟主机,用户的请求由Host来处理,可以有多个 <Context></Context> //网站文件目录,可以有多个 </Host> </Engine> </Service> </Server>
(1)基于主机名的虚拟主机
首先在本地hosts文件中建立自己起的域名与IP地址的映射关系
然后在server文件中engine标签下创建host和context标签,valve标签复制默认host标签内的即可
在server.xml中engine下创建host标签及context标签
(2)基于端口号的虚拟主机
在server中复制一个service并修改name为catalina2,修改connector的port为8200(要注意不能让端口号重复),修改第二个connector的port为8010(不能重复)
评论前必须登录!
注册