Tomcat配置与启动与访问
一、TomCat介绍
Apache公司的服务器,是JavaEE规范中Servlet/JSP规范的实现者,是一个轻量级服务器,开源免费。可称为Web容器,或者说是Servlet容器。
*JCP:Java Community Process,Java审核社区,是个开放的国际组织,规范监督Java的发展。通过JCP审核的才能成为Java规范。JCP的创造者为SUN公司。
*SDK:是Software Development Kit 一般指软件开发包,可以包括函数库、编译程序等。
*JRE:Java Runtime Enviroment是指Java的运行环境,是面向Java程序的使用者,而不是开发者。 包含了java虚拟机,java基础类库。
*JDK:Java Development Kit,JDK是面向开发人员使用的SDK,它提供了Java的开发环境和运行环境。包含了JRE,同时还包含了编译java源码的编译器javac,还包含了很多java程序调试和分析的工具:jconsole,jvisualvm等工具软件。
二、安装与配置
1. https://tomcat.apache.org/download-90.cgi tomcat9版本下载core。
2. TomCat5以及以前的版本,要求还要安装JDK,但TomCat6以及之后的版本只需要安装JRE。在系统环境变量中设置“Java_HOME”为jdk的安装路径,并将其bin目录添加到path变量中。(CATALINA_HOME在startup.bat中已经配置过)。
(1)查看Java版本信息:
java -version
(2)查看Java安装路径:
java -verbose
结果是/Library/Java/JavaVirtualMachines/jdk1.8.0_201.jdk/Contents
(3)配置环境变量:
sudo vi /etc/profile
末尾输入:
JAVA_HOME="/Library/Java/JavaVirtualMachines/jdk1.8.0_201.jdk/Contents/Home"
CLASS_PATH ="$JAVA_HOME/lib"
PATH=".;$PATH:$JAVA_HOME/bin"
export JAVA_HOME
(4)更新:
source /etc/profile
(5)查看环境变量:
echo $JAVA_HOME
(6)运行Java相关命令:
比如javadoc:
3. 在bin目录下找到startup.sh,./startup.sh启动tomcat服务器。
4. 通过浏览器访问localhost:8080,能看到tomcat的网页。
5. 在bin目录下找到shutdown.sh,./shutdown.sh关闭tomcat。
三、解析server.xml
在tomcat安装目录下的/conf中,有个server.xml文件,代表服务器的配置文件。
<Server port="8005" shutdown="SHUTDOWN">
<Service name="Catalina">
<Connector port(浏览器所输入的端口)="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
<Engine name="Catalina" defaultHost="localhost">
<Host name="localhost" appBase(相对于tomcat安装目录的主机基础目录,若放在其他地方也可以直接放绝对路径)="webapps" unpackWARs(自动解压war包)="true" autoDeploy(自动发布到服务器)="true">
<Context path(虚拟目录)="/xxx" docBase="d:/course/myweb">
</Context>
</Host>
</Engine>
</Service>
</Server>
其中<Service>标签可以有多个,每个的name必须不同,代表不同的服务。如果浏览器需要使用某个服务,则需要连接器Connector。
关于这几个组件的关系可以描述为:
(1)一个Server可以包含多个Service;
(2)浏览器访问一个Server中的某个Service可以通过不同类型(不同协议)的Connector;
(3)一个Service中只有一个Engine;
(4)一个Engine中可以包含多个Host(虚拟主机);
(5)一个虚拟主机可以包含多个Context(应用)。
* 租赁服务器:将自己申请的域名放到租赁的服务器(其实也就是一个虚拟主机)上。
四、创建虚拟目录
在web项目的规范目录中,项目文件应该放在tomcat安装目录下的/webapps中,当然也可以不放在这里。
方法一:在server.xml中配置,需要重启服务器
(1)web项目“myweb”被放在d:/course/目录下,其中有个hello.html文件:
(2)在server.xml中配置Context(应用):
(3)重启服务器
(4)浏览器中访问这个主机下面的这个应用:
方法二:在Engine下配置,无需重启服务器
(1)web项目“myweb2”被放在d:/course/目录下,这个项目下有一个文件hello.html:
(2)在tomcat安装目录\conf\Catalina\localhost\下面新建一个ooo.xml文件,如图:
(3)在浏览器中访问这个hello.html:
五、创建虚拟主机
1. 一些基本概念
(1)域名:www.baidu.com
(2)IP:119.75.217.109
(3)域名解析服务器DNS:提供将域名与IP地址进行映射服务的服务器,一个IP地址可以对应几个不同域名
* 域名解析过程:本机文件-》网络服务供应商的DNS中找-》上一级-》。。。-》全球的DNS
2. 定义虚拟主机
(1)在tomcat安装目录下,新建目录“mywebapps”。项目“myweb”放在目录mywebapps/下,在项目中新建hello.html:
(2)在server.xml文件中,<Engine>标签下定义虚拟主机<Host>:
<Engine name="Catalina" defaultHost="localhost"(当使用IP地址来访问,默认访问localhost主机)>
<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true">
</Host>
<Host name="www.reyco.com" appBase="mywebapps" unpackWARs="true" autoDeploy="true">
</Host>
</Engine>
(3)重启服务器
(4)发现在tomcat安装目录/conf/Catalina下面有了新建的虚拟主机www.reyco.com:
(5)在本机的域名解析hosts文件中添加:
(6)在浏览器中访问www.reyco.com:8080/myweb/
六、修改默认端口号
七、制定虚拟主机的默认应用
比如输入www.baidu.com时直接可以访问到一个网页,实际上是因为www.baidu.com这台虚拟主机指定了一个默认应用,打开就可以默认访问。指定默认应用,将它的项目名改为“ROOT”即可。