Tomcat的安装
本节将介绍Tomcat工作环境的安装、基本的启动与停止方法、JDK的安装与JVM性能调整、二进制版本的Tomcat安装以及从源代码安装Tomcat,最后讲解如何启动、停止和自动启动Tomcat,并进行安装的测试。
1 安装准备
在安装Tomcat之前必须先安装JDK。JDK的全称是Java Development Kit,是Sun公司免费提供的Java语言的软件开发工具包,其中包含Java虚拟机(JVM)。编写好的Java源程序经过编译可形成Java字节码,只要安装了JDK,就可以利用JVM解释这些字节码文件,从而保证了Java的跨平台性。
在平台兼容性方面,JDK作为解释字节码文件并据此调用操作系统API实现对应功能的Java虚拟机,与操作系统类型和平台位数密切相关,因此存在不同类型的版本,而Tomcat也具有上述特征,所以需要预先下载JDK和Tomcat,这两个软件的版本和下载地址如下:
JDK选择Sun官方网站提供的JDK-6U1,下载网址为https://sdlc5e.sun.com/ECom/EComActionServlet;jsessionid=6C6B460AC2EF83F7FF253E51D5B5BA1C。
用户访问上述网址需要注册,注册后就可以根据自己的计算机平台配置选择合适版本。
如果使用32位Windows系统,那么选择下载:
Windows Offline Installation(build 06),Multi-language
jdk-6u2-windows-i586-p.exe
如果使用32位Linux系统,那么选择下载:
Linux RPM in self-extractingfile (build 05)
jdk-6u2-linux-i586-rpm.bin
如果使用64位Windows系统,那么选择下载:
Windows x64 executable (build05)
jdk-6u2-windows-amd64.exe
如果使用64位Linux系统,那么选择下载:
Linux x64 RPM inself-extracting file (build 05)
jdk-6u2-linux-amd64-rpm.bin
Tomcat选择apache - tomcat 6.0.14,下载网址为http://tomcat.apache.org/download-60.cgi。
在如图1-5所示的下载页面中,Binary Distributions(二进制发行版)下方有若干组下载项,每组下载项有两个不同的版本对应不同的操作系统,其中zip是Windows平台下运行版本,tar.gz是Linux平台下运行版本。其中Core组和Administration WebApplication组必须下载,这两组分别对应Tomcat核心安装包和控制平台包,其他组内容可以根据需要来决定是否下载。
图1-5 Tomcat下载页面
本书内容都基于32位Windows系统,所以JDK选择jdk-6u1-windows-i586-p.exe,Tomcat选择apache- tomcat6.0.14.zip和apache- tomcat 6.0.14-admin.zip。
对于Windows操作系统,tomcat 6.0.14提供了两种安装文件,一个文件为apache-tomcat 6.0.14.exe,另一个文件为apache-tomcat6.0.14.zip。apache-tomcat 6.0.14.exe是可运行的安装程序,读者只需要双击这个文件,即可开始安装Tomcat。在安装过程中,安装程序会自动搜寻JDK和JRE的位置,并把Tomcat服务加入到Windows操作系统的服务中,同时在“开始”→“程序”菜单中加入Tomcat服务器管理菜单。apache-tomcat 6.0.14.zip是一个压缩包,只需要把它解压到本地硬盘即可,这种方式既适合Windows系统下的安装,也适用于其他操作系统,例如Linux系统,所以下面主要介绍apache-tomcat 6.0.14.zip的安装与Tomcat运行环境的设置。
2 JDK安装及设置
(1)双击jdk-6u1-windows-i586-p.exe,弹出如图1-6所示界面。单击“接受”按钮进入下一步。
图1-6 执行安装程序
(2)选择安装内容及路径,如图1-7所示。
其中,中间列表是要安装的可选功能,单击每个可选功能左边的按钮,将弹出下拉菜单,其选项内容包括“此功能将安装在本地硬盘驱动器上”、“此功能及所有子功能将安装在本地硬盘驱动器上”、“现在不安装此功能”和“此功能将不可用”,系统默认均为第一个选项。
(3)安装JRE,如图1-8所示。
图1-7 选择安装内容及路径 图1-8 设置JRE安装内容及路径
【专家提示】系统默认安装路径是C:\Program Files\Java\jdk1.6.0_02\,若想安装到其他路 径,可单击右边的“更改(A)…”按钮,选择其他安装路径。建议将JDK安装在C盘根目录下,即JDK的安装目录是C:\jdk1.6.0_02\。
设置好安装内容及路径后,单击“下一步(N)”按钮,即在选择的安装路径下开始安装所选的内容。
JRE是Java RuntimeEnvironment的缩写,是Java运行环境,即Java平台。和第二步界面相似,中间列表是要安装的可选功能,系统默认的都是第一个选项。下面是系统安装路径,默认是C:\ProgramFiles\Java\jre1.6.0_02\,若想安装到其他路径,可单击右边的按钮,选择其他安装路径,JRE按照默认路径安装即可。
设置好安装内容及路径后,单击“下一步(N)”按钮,即可在选择的安装路径下安装所选的内容。安装完毕后弹出如图1-9所示界面,提示JDK安装完成。
图1-9 安装完成
安装完成后可以发现系统存在两套JRE,一套位于<JDK安装目录>\jre目录下(即C:\jdk1.6.0_02\jre),另一套位于C:\ProgramFiles\Java\jre1.6.0_02目录下,后面这套比前面那套少了Server端的JVM,把前面那套Server端的JVM复制过来后两者效果一样。其实,在上述步骤中的第二步,已经安装了JDK和JRE(第一套),第三步安装的是第二套JRE。
安装两套JRE的原因是:JDK是基于DOS界面的Java程序集成开发环境,而JRE是Java程序运行的必备平台,即所谓的JVM。安装两套JRE,就是在机器上安装了两个JVM,它们都可以运行Java程序。Java应用程序可以分为两种,一种是JDK目录中的应用程序,另一种是根据各种应用需要开发的一般Java程序。它们执行时分别使用不同的JRE,可以减少搜索时间,利用JRE并行运行的特点来提高程序执行速度,所以C:\jdk1.6.0_02\jre下的JRE运行JDK目录中的应用程序,而C:\Program Files\Java\jre1.6.0_02下的JRE运行一般Java应用程序。
安装完成后需要重新启动计算机,然后设置环境变量,步骤如下:
(1)右击“我的电脑”,在弹出的快捷菜单中选择“属性”命令,打开“系统属性”对话框,选择“高级”选项卡,单击“环境变量”按钮,打开“环境变量”对话框,如图1-10所示。
(2)单击“系统变量”选项区域中的“新建”按钮,打开“新建系统变量”对话框,变量名设置为JAVA_HOME,变量值设置为C:\jdk1.6.0_02,如图1-11所示,此变量值为JDK安装目录所在位置。
图1-10 “环境变量”对话框 图1-11 “新建系统变量”对话框
(3)再新建一个系统变量,变量名设置为classpath,变量值设置为;C:\jdk1.6.0_02\lib;C:\jdk1.6.0_02\lib\tools.jar,此变量值表示搜索Java类的路径,该路径中包含一些Jar归档文件或者相应的目录,Java程序执行时往往会从classpath中选择并添加自己需要的类路径。设置时需要注意,变量值最前面的“.”表示当前路径,不可以省略,不同值之间用“;”隔开。
(4)选中“系统变量”面板中的Path变量,然后单击“编辑”按钮,在弹出的“编辑系统变量”对话框中,在变量值的最后添加;C:\jdk1.6.0_02\bin,此变量设置一些常用目录,该目录中的文件在任何地方都可以直接访问,从而免去了在不同目录间反复切换的麻烦。
【专家提示】为了检验环境变量设置是否成功,可以采用下面的方法:选择“开始”→“运行”命令,输入cmd,进入DOS界面,然后在其中运行java和javac这两个命令,如果输出对应的帮助信息,则表明环境变量已经设置成功。
3 Tomcat安装及设置
把Tomcat压缩文件apache-tomcat-6.0.14.zip中的内容解压缩到C:\apache-tomcat-6.0.14下,然后按照1.2.2节中增加系统变量的方法增加系统变量。
变量名:TOMCAT_HOME;变量值:C:\apache-tomcat-6.0.14。然后修改系统变量classpath,添加%TOMCAT_HOME%\common\lib\servlet-api.jar;同时修改系统变量path,添加%TOMCAT_ HOME%\bin。
4 测试Tomcat
要测试Tomcat服务器是否安装成功,首先要启动Tomcat服务器。在Tomcat安装目录C:\apache-tomcat-6.0.14下面有一个bin目录,里面有两个文件:startup.bat和shutdown.bat,分别控制Tomcat的启动和关闭。由于在1.2.3节中已经把该目录加入到系统变量Path中,所以在命令行中直接输入对应的文件名即可实现Tomcat的启动和关闭,而不需要切换目录。在命令行中输入startup.bat,即可启动Tomcat,如图1-12所示。
图1-12 启动Tomcat
然后在浏览器地址栏中输入http://localhost:8080,按Enter键访问。如果出现如图1-13所示界面,则说明Tomcat安装成功。
图1-13 Tomcat默认主页
5 Tomcat常用配置文件
在Tomcat目录中,比较重要的配置文件有\conf下的tomcat-users.xml、server.xml以及\webapps中应用程序目录下的web.xml。Tomcat采用基于角色的访问控制模型管理用户对系统的使用,安全性比较高,其角色和对应用户都保存在tomcat-users.xml中。Tomcat服务器是由一些可配置的组件构成,在server.xml文件中可以对这些组件进行配置,每个Tomcat组件和server.xml文件是一一对应的。web.xml是按照Servlet规范定义的Web应用发布描述符文件,是完全独立于Tomcat容器的Web应用配置文件。
下面是一个tomcat-users.xml文件的内容:
<?xml version='1.0' encoding='utf-8'?>
<tomcat-users>
<rolerolename="tomcat"/>
<rolerolename="role1"/>
<userusername="tomcat" password="tomcat"roles="tomcat"/>
<userusername="both" password="tomcat"roles="tomcat,role1"/>
<userusername="role1" password="tomcat"roles="role1"/>
</tomcat-users>
其中,文件开头声明了XML的版本和编码方式,<tomcat-users>和</tomcat-users>之间描述了系统中的角色和用户。其中<role rolename="tomcat"/>表示建立了一个名字叫tomcat的角色;<user username="tomcat"password="tomcat" roles="tomcat"/>表示建立了一个用户,名字为tomcat,密码为tomcat,拥有角色tomcat所拥有的权限。一个用户可以拥有多个角色的权限,<user username="both" password="tomcat"roles="tomcat,role1"/>表明用户both拥有角色tomcat和role1两者的权限。该文件具有扩充性,用户可以增加角色和用户。
Tomcat安装配置 - Mr.Johness - 博客园
1、首先是Tomcat的获取和安装。
获取当然得上Apache的官方网站下载,开源免费,而且带宽也足够。下载会很快。
这是两种不同的下载,一个是普通安装版本,一个是解压安装版本。使用起来是一样的,只是在普通安装版本中有一些界面可提供对Tomcat的快捷设置,而且普通安装会将Tomcat作为系统服务进行注册。
2、Tomcat的运行环境搭建。
(解压版)安装(就是解压)完成后如下:
Tomcat的启动是一个bat文件(Windows下),在bin目录下。双击即可。
如果启动不成功,一般的情况是控制台出来一下立即消失,说明Tomcat没有找到Java的运行时环境。
简单理解,就是Tomcat找不到JDK,没办法运行。
我们“告诉”它JDK的安装路径。即在环境变量里新建JAVA_HOME(不区分大小写),指向JDK安装目录。如下:
这样,Tomcat就配置好了,启动就OK。
启动Tomcat,在浏览器地址栏输入http://localhost:8080/如果看到乱七八糟的关于Tomcat的介绍神马,说明配置成功。
3、Tomcat的目录结构介绍。
bin目录存放一些启动运行Tomcat的可执行程序和相关内容。
conf存放关于Tomcat服务器的全局配置。
lib目录存放Tomcat运行或者站点运行所需的jar包,所有在此Tomcat上的站点共享这些jar包。
wabapps目录是默认的站点根目录,可以更改。
work目录用于在服务器运行时过度资源,简单来说,就是存储jsp、servlet翻译、编译后的结果。
其他目录和文件暂时不做介绍。
4、Tomcat的默认行为。
我们的浏览器请求如果到达了Tomcat,并且请求无误,一般Tomcat会以静态页面(即html文件)的形式给与响应,这是http服务器的默认行为。
一个完整的资源请求包括:
协议(如http)
主机名(域名,如localhost、www.baidu.com)
端口号(http协议默认为80,所以我们一般向某个网站发起请求没有输入)
站点
资源位置
如http://localhost:8080/ROOT/index.jsp
那么在第二步时我们只输入了域名(或者主机名)就访问到了某个具体的页面,这是怎么回事呢?。
首先,请求会通过一些途径到达请求的主机地址并被该服务器(指硬件,如我们的本机电脑)上的http服务器程序获得。这一步解释起来比较麻烦,我们不做赘述,我会在其他篇幅里介绍。
比如我们输入http://localhost:8080到浏览器里。被Tomcat发现了。
现在它拿到请求,先分析我们所请求的是什么资源。由于我们没有指定,它会到默认的站点去拿默认的页面给我们。
现在我们把过程走一遍:
服务器端:Tomcat监听着8080端口,时时注意是否有请求过来。
客户端浏览器发出请求,到达了服务器端,由于端口的分配,请求最终被Tomcat得到。
Tomcat解析请求的资源,发现没有指定需要的是哪个站点下的哪个资源。
Tomcat在默认的站点下把默认的页面返回给客户端浏览器作为响应。
5、更改Tomcat默认配置。
①、修改Tomcat监听端口。
我们都有过访问网站的经历。我们一般只输入了域名对吧,那么假设我们现在作为网络服务提供者,将要对外发布网站,我们怎么让用户只输入我们的域名就能看到我们为他/她准备的网页呢?
首先我们需要将监听端口设置为80,道理很简单,用户不会在浏览器输入:8080来访问网站,浏览器也不会自动将请求发送到服务器的8080端口。
在%TOMCAT_HOME%(以下代指Tomcat的安装路径)下的conf目录下的server.xml文件中修改。
这个文件里东西不少,其实大家不必在意。为什么呢?你把注释删除后再把整个xml看作一个对象,是吧,每个节点是一个属性,这个属性又可能是一个对象,它里面有属性……要这样去理解,或者直接认为是Tomcat的配置信息到也没错。
这样,就不用输入:8080了。
②、修改默认站点。
首先说,站点是具有特定结构的文件夹。这一点在Tomcat里表现得极为清晰。
站点,在服务器上肯定是用文件夹(即目录结构)来存储和管理的。但是它和普通的文件夹又不同,在Tomcat里,可用于作为站点的文件夹必须有如下特点:拥有一个名为WEB-INF的子文件夹,该子文件夹下必须有一个名为web.xml的文件,而且该xml文件必须受约束与特定的DTD。
我们先配置或者说叫创建一个站点,再将其设置为默认站点。
配置站点:创建文件夹,创建WEB-INF子文件夹,创建web.xml,完成。web.xml内容可以参考webapps/ROOT/WEB-INF/web.xml。
设置为默认站点:
这里需要分为两步执行。
告诉Tomcat当请求哪个站点时(或者说在域名后面跟的是什么名字),你来找我。
告诉Tomcat我在哪里。
上图已经将两步配置好了(实际上Tomcat默认加上了将空站点指向ROOT的代码),我们的d:/myweb:
如果你的站点存放在webapps目录下,可以使用相对路径,比如,我们将d:/myweb整个拷到%TOMCAT_HOME%/webapps下,上图的docBase很明显就不需要加上d:/了。
我在index.html里写了几句话,然后结果出来了:
③、修改默认页面。
在上面,我们还算是中规中矩,按照常理出牌,谢了index.html。那么如果没有写呢?Tomcat会怎么做呢?
请大家找到conf/web.xml。这个文件是对所有站点的共同属性做出了设置。比如大家看文件结尾处:
这个叫做欢迎页面,当没有输入资源地址时,会由上至下地查找,获取页面,进行响应。
很清楚了吧,改动它就可以,但是不建议在这里改,会是所有站点设置变化,你应该将其复制到你需要改动的站点下的web.xml,进行设置。
6、虚拟主机的配置。
所谓虚拟主机,就是将一个或多个主机名(域名)和Tomcat所在的服务器进行绑定。由于一个IP可以和多个域名进行帮定,我们大可以将不同的域名指向服务器(指硬件)上的不同文件夹,造成一个服务器(或者一个IP)多个主机的“虚拟主机”效果。
这个实现起来相当的简单。只需要在server.xml文件中新建Host节点,将其属性进行不同设置即可。
1 #你的主机名(域名)1
2 <Host name="localhost" appBase="webapps"
3 unpackWARs="true"autoDeploy="true"
4 xmlValidation="false"xmlNamespaceAware="false">
5 </Host>
6 #你的域名2
7 <Host name="www.coderecord.org" appBase="主机空间地址"
8 unpackWARs="true" autoDeploy="true"
9 xmlValidation="false"xmlNamespaceAware="false">
10 #域名3可以和域名2共用一个主机空间
11 <alias>coderecord.org</alias>
12 <Context path="" docBase="站点地址" debug="1" reloadable="true" allowLinking="true" />
13 </Host>
以上配置信息根据Tomcat的版本不同而不同。
本篇随笔对Tomcat的安装、环境搭建、虚拟目录、虚拟主机配置都有浅陋的见解,忘大家指正。