Tomcat 介绍
Tomcat是由Apache软件基金会下属的Jakarta项目开发的一个Servlet容器,按照Sun Microsystems提供的技术规范,实现了对Servlet和JavaServer Page(JSP)的支持,并提供了做为Web服务器的一些特有功能,如Tomcat管理和控制平台、安全域管理和Tomcat阀等。因为Tomcat自己也内含了一个HTTP服务器,它也能够被视做一个单独的Web服务器。可是,不能将Tomcat和Apache HTTP服务器混淆,Apache HTTP服务器是一个用C语言实现的HTTPWeb服务器;这两个HTTP web server不是捆绑在一块儿的。Apache Tomcat包含了一个配置管理工具,也能够经过编辑XML格式的配置文件来进行配置。(摘录自Wiki)(Apache Tomcat)css
Tomcat 安装
Tomcat是免费的开源软件,可在直接在官方网站下载。
http://tomcat.apache.org/
1.能够直接在左侧选择版本:html

2.选择版本后能够在下方进行下载,能够选择下载安装版或者解压版,这里选择了解压版
tar.gz文件是Linux操做系统下的安装版本
exe文件是Windows系统下的安装版本
zip文件是Windows系统下的压缩版本web

3.下载完成后解压缩,获得Tomcat目录,apache

Tomcat 的默认端口
Tomcat 修改HTTP默认端口,能够直接修改Tomcat 目录下\conf \server.xml文件。默认端口号为8080,修改成想要的端口,重启Tomcat便可。tomcat
<Connector URIEncoding="UTF-8" connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443"/>
若要修改为8081端口:安全
<Connector URIEncoding="UTF-8" connectionTimeout="20000" port="8081" protocol="HTTP/1.1" redirectPort="8443"/>
Tomcat 的虚拟目录配置
什么是虚拟目录呢,简单的说,咱们能够根据请求的路径不一样,来发布不一样的项目。如此形式:咱们想要
在访问http://www.codingme.net/testA 时,进入A项目。
在访问http://www.codingme.net/testB 时,进入B项目。
这个时候咱们就须要配置虚拟目录来完成这个操做。
此时的URL:http://www.codingme.net/testA 不是单纯的路径,而是协议域名端口号+WEB应用testA。服务器
自动映射虚拟目录
在Tomcat 默认状况下,咱们能够看到 %Tomca%\conf \server.xml文件最底部有配置以下:app
<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true"> <!-- SingleSignOn valve, share authentication between web applications Documentation at: /docs/config/valve.html --> <!-- <Valve className="org.apache.catalina.authenticator.SingleSignOn" /> --> <!-- Access log processes all example. Documentation at: /docs/config/valve.html Note: The pattern used is equivalent to using pattern="common" --> <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" prefix="localhost_access_log" suffix=".txt" pattern="%h %l %u %t "%r" %s %b" /> </Host>
这里Tomcat 默认配置了虚拟主机localhost,基础应用目录webapps,也就是%Tomca%\webapps\ 目录,Tomcat 服务器会自动管理webapps目录下的全部web应用,并把它映射成虚似目录。
所以在须要配置虚拟目录时咱们能够直接把项目复制到webapps 目录下进行发布
示例:webapp
- 复制项目到webapps下


-
查看test/ index.html 文件内容工具
- 运行%Tomcat%/bin/startup.bat 启动Tomcat
- 进行访问测试http://localhost:8080/test/index.html

注意:http://localhost:8080 会默认访问 webapps/ROOT文件夹中的内容。
修改server.xml 映射虚拟目录
咱们也能够经过在server.xml 文件中的host 元素之间添加配置代码来配置虚拟目录:添加代码以下;
Context path="/app" docBase="D:/app" debug="0" reloadable="true" crossContext="true"/>
配置中咱们配置了访问路径为/app ,项目路径D:/app 所以咱们只要把要发布的内容放入D:/app 文件夹中便可。
配置完毕后 运行%Tomcat%/bin/startup.bat 启动Tomcat,能够经过
访问到D:/app/index.html,须要多个虚拟目录能够直接配置多条配置。
注意:若想使用http://localhost:8080 访问项目则须要配置 path=""
注意:配置中的path值和docBase中的文件夹名称没有任何关系。
在conf /Catalina /localhost 增长xml文件映射虚拟目录
博主比较推荐这一种。
在%Tomcat%/conf/Catalina/localhost目录中,增长配置文件来配置虚拟目录。
配置文件名称格式为:虚拟目录路径.xml
举个栗子:
在%Tomcat%/conf/Catalina/localhost目录中增长文件 blog.xml
写入内容:
<?xml version="1.0" encoding="utf-8"?> <Context docBase="d:/blog" reloadable="true"> </Context>
D盘下blog文件夹中内容:

docBase="d:/blog"
指定了Web应用存放位置为D盘下blog文件夹中。reloadable="true"
表示当blog文件夹中文件有变化中,自动加载。
配置完毕启动Tomcat后就能够经过访问到blog文件夹中的内容。

注意:须要多个虚拟目录能够多创建几个配置文件,文件名不能相同。
注意:若想使用http://localhost:8080 访问项目则须要配置文件名为ROOT.xml
。
注意:文件名blog.xml 和配置中d:/blog 没有关系,文件名能够写成其余,如blog111.xml,那么在访问时就要访问http://localhost:8080/blog111
Tomcat 的虚拟主机
首先咱们先了解虚拟主机的用处,一个虚拟主机也就是一个网站。好比咱们只有一个服务器
,一个服务器上只有一个80端口,咱们须要发布两个web项目,那么咱们能够使用虚拟目录,把两个项目发布到两个不一样的路径之下,可是若是咱们有两个不一样的域名须要把两个项目对应两个域名,咱们就须要配置虚拟主机了。
示例:两个域名
一个是www.aaaa.com
一个是 www.bbbb.com
为了实验效果,咱们配置C:\Windows\System32\drivers\etc\hosts 文件,添加两行映射。
127.0.0.1 www.aaaa.com 127.0.0.1 www.bbbb.com
此时咱们本机能够使用 localhost / www.aaaa.com / www.bbbb.com 进行访问。
配置虚拟主机指定www.aaaa.com访问是的内容。
1:在server.xml中Engine元素中添加一个host子元素
<Host name="www.aaaa.com" debug="0" appBase="d:/aaaa" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false"> <Logger className="org.apache.catalina.logger.FileLogger" directory="logs" prefix="aaaa_log." suffix=".txt" timestamp="true" /> </Host>
其中的
- name表示在访问的域名是www.aaaa.com时会使用此配置。
- appBase="d:/aaaa" 指定了项目的发布路径。
启动Tomcat后,此时在使用www.aaaa.com进行访问时候,会默认显示d:/aaaa/ROOT中的内容。

若是存在 d:/aaaa/test,则能够经过http://www.aaaa.com:8080/test 进行访问。
此时test也就是www.aaaa.com的虚拟目录。
添加www.bbbb.com 访问同上。
Tomcat 的单例多实例配置
参考以前文章
Linux配置Tomcat的单机多实例
做者: 雪漫士兵
博客: https://www.codingme.net (转载请注明出处)