vlambda博客
学习文章列表

读书笔记《apache-tomcat-7-essentials》Tomcat 7的安装

Chapter 1. Installation of Tomcat 7

Apache Tomcat 是一个基于 Java 的开源 Web 和 servlet 容器,用于托管基于 Java 的应用程序。它最初是为 Jakarta Tomcat 开发的。由于需求增加,它后来被托管为一个名为 Apache Tomcat 的单独项目,该项目由 Apache 软件基金会支持。它最初由 Sun Microsystems 的软件架构师 James Duncan Davidson 开发。他后来帮助使这个项目开源,并在将这个项目从 Sun Microsystems 捐赠给 Apache 软件基金会方面发挥了关键作用。 Tomcat 实现了 Java Servlet 和 JavaServer Pages(JSP) 规范来自 Sun Microsystems,并为 Java 代码运行提供了“纯 Java”HTTP Web 服务器环境。

Apache Tomcat 版本 7.0 实现了来自 Java Community Process 的 Servlet 3.0 和 Java Server Pages 2.2 规范。它包含许多附加功能,使其成为开发和部署 Web 应用程序和 Web 服务的有用平台。

在本章中,我们将讨论以下主题:

  • Tomcat 7 简介

  • Tomcat 7 的特点

  • 安装Tomcat

    • Tomcat 7 安装的先决条件

    • 在 Linux 和 Windows 操作系统上安装

  • 安装过程中常见的故障排除领域

History of Tomcat

Tomcat 于 1999 年首次被引入开源组,其第一个版本以 3.0.x 版本发布。从那时起,它就得到了开源社区的大力支持,并在 IT 行业被广泛接受。在当前场景中,Tomcat 运行在生产环境中,也被用于各个行业的关键任务项目。以下提到的详细信息为我们提供了版本的快速历史记录。

在 12 年的成功历程中,Tomcat 已经达到了各种状态,并为 IT 行业提供了各种版本。 Tomcat 路线图及其稳定版本概述如下:

版本

发布日期

描述

3.0.x。 (初始版本)

1999

将捐赠的 Sun Java Web Server 代码和 ASF 合并,并实现 Servlet 2.2 和 JSP 1.1 规范。

3.3.2

2004 年 3 月 9 日

最新的 3.x 版本。

4.1.40

2009 年 6 月 25 日

最新的 4.x 版本。

5.5.32

2011 年 2 月 1 日

最新的 5.x 版本。

6.0.32

2011 年 2 月 3 日

最新的 6.x 版本。

7.0.0 测试版

2010 年 6 月 29 日

第一个支持 Servlet 3.0、JSP 2.2 和 EL 2.2 规范的 Apache Tomcat 版本。

7.0.11

2011 年 3 月 11 日

第四个稳定版本。

7.0.12

2011 年 4 月 6 日

当前稳定版本。

Note

有关版本更改、发布和比较的更多信息,请访问 http://en.wikipedia .org/wiki/Apache_Tomcat 和 http://wiki.apache.org /tomcat/FrontPage.

Tomcat support matrix

Apache Tomcat 可以根据不同的组件进行分类,例如 JDK 版本、增强、稳定性等。让我们举一个实时示例,您想决定为应用程序部署哪个 Apache Tomcat 版本。例如,如果应用程序使用 Servlet 2.4 和 JSP 2.0,那么我们应该总是选择 5.x 版本。实际上,要找出我们应该使用哪个版本的 Tomcat 来正确利用系统资源是一项艰巨的工作。

通常,这些任务将由公司的技术架构师完成,他们全权负责任何产品中使用的技术规范。基于Tomcat的特性,让我们快速的来看看不同版本的Tomcat对比:

特征

7.x

6.x

5.x

4.x

3.x

版本规范

Servlet 3.0、JSP 2.2、EL 2.2

Servlet 2.5、JSP 2.1

Servlet 2.4、JSP 2.0

Servlet 2.3、JSP 1.2

Servlet 2.2、JSP 1.1

稳定:

是的

是的

是的

Yes

是的

增强功能

是的

是的

不太可能

不大可能

不大可能

Bug修复

是的

是的

是的

不大可能

不大可能

安全修复

是的

是的

是的

Highly unlikely

不大可能

发布

是的

是的

是的

不大可能

不大可能

发布经理

马克·托马斯 (markt)

让-弗雷德里克·克莱尔 (jfclere)

菲利普·哈尼克 (fhanik)

马克·托马斯 (markt)

比尔巴克 (billbarker)

过程

点击率

实时时钟

实时时钟

点击率

点击率

在下载页面上列出

是的

是的

是的

不

不

JDK版本

1.6

1.5

1.4

1.3

1.1

在上表中,极不可能意味着使用旧版本的用户必然需要升级更高版本才能支持新的改进功能。它还涉及当前版本的安全修复。

Features and enhancements of Apache Tomcat 7

在上一节中,我们讨论了 Tomcat 版本的各种支持矩阵,现在我们了解了 Tomcat 的支持规范(JDK 支持、EJB 和 Servlet)。让我们尝试了解并快速查看 Tomcat 7 的新功能/增强功能。

Apache Tomcat 7.x 的发布对 Tomcat 6.x 进行了一些关键改进,并实时实现了 Servlet 3.0、JSP 2.2 和 EL 2.2 规范。除此之外,它还解决了以前版本中的一些主要问题。

Web application memory leak detection and prevention

Tomcat 在 4.x/5.x 版本中存在内存泄漏的时间顺序问题。在 Tomcat 的整个生命周期内重新加载应用程序时,都会产生 OutOfMemoryError 异常。 Tomcat 在追踪与内存相关的错误和问题方面付出了非凡的努力,以避免内存泄漏。

Servlet 3.0

Tomcat 7 为 Servlet 3.0 提供了很好的支持。 Servlet 3.0 帮助开发人员非常轻松地编写代码,并且还为异步编程技术提供了重要的支持。提供的支持类型有:

  • 异步支持: Servlet 3.0 的异步支持已经完全集成到 Tomcat 7 中。异步编程的最大优点是服务器没有等待资源的响应。例如,如果您有 2000 个并发用户在使用一个应用程序,那么我们不能为数据库分配 2000 个连接并让连接处于空闲状态,直到我们得到响应。通过使用异步编程,您的应用程序可以在此特定用户等待来自资源(例如 DB、NAS 等)的响应时处理其他用户请求。

  • 动态配置:这又是 Servlet 3.0 的一个非常重要的特性。由于 Tomcat 7 对 Web 片段的支持,开发人员现在不需要为他们的应用程序 web.xml 实现特定的库配置。这意味着,您可以在 web.xml中集成库引用。

  • 基于注解的配置: 借助 Tomcat 7 中对 Servlet 3.0 的额外支持,开发人员可以包含装饰性编程风格。实现装饰器的最大优点是您可以在应用程序 servlet 类而不是 Web 服务器中配置重写规则。因此,您减少了对 Web 服务器的依赖。它还消除了对部署描述符的需求。

Improved logging

Tomcat 7 包含两个新的日志功能,以便用户更好地理解日志分析:

  • 异步文件处理程序:异步处理程序允许Tomcat通过专用线程将日志写入磁盘,从而使日志记录操作不会造成任何处理延迟线程。

  • 单行日志格式化程序:单行格式化程序将日志写入单行,这对管理员来说是一个更好的功能。

Aliases

这是管理员的最佳功能。它为管理员提供了消除对另一个 Web 服务器托管多个网站的依赖性的自由。除此之外,您还可以托管整个静态内容(单个包中的图像/JavaScript)。

Note

关于 Tomcat 7 功能需要记住的要点

Apache Tomcat 7 可以通过 JRE 1.6 或更高版本运行。这意味着我们不必安装完整的 Java Development Kit(JDK)。这对空间紧缩问题非常有帮助,Java 的瘦身将使用更少的内存。但是,从管理员的角度来看,也建议安装完整的 Java 开发工具包,因为它提供了对管理员非常有帮助的其他实用程序(jmap、jstack)。这有一个内置的 eclipse JIT (Just in Time) 编译器。

Apache Tomcat 7 解决了类加载冲突问题,例如 ClassCastExceptions。 ClassCastExceptions 表示在运行时加载时类存在问题。

History of Tomcat


Tomcat 于 1999 年首次被引入开源组,其第一个版本以 3.0.x 版本发布。从那时起,它就得到了开源社区的大力支持,并在 IT 行业被广泛接受。在当前场景中,Tomcat 运行在生产环境中,也被用于各个行业的关键任务项目。以下提到的详细信息为我们提供了版本的快速历史记录。

在 12 年的成功历程中,Tomcat 已经达到了各种状态,并为 IT 行业提供了各种版本。 Tomcat 路线图及其稳定版本概述如下:

版本

发布日期

描述

3.0.x。 (初始版本)

1999

将捐赠的 Sun Java Web Server 代码和 ASF 合并,并实现 Servlet 2.2 和 JSP 1.1 规范。

3.3.2

2004 年 3 月 9 日

最新的 3.x 版本。

4.1.40

2009 年 6 月 25 日

最新的 4.x 版本。

5.5.32

2011 年 2 月 1 日

最新的 5.x 版本。

6.0.32

2011 年 2 月 3 日

最新的 6.x 版本。

7.0.0 测试版

2010 年 6 月 29 日

第一个支持 Servlet 3.0、JSP 2.2 和 EL 2.2 规范的 Apache Tomcat 版本。

7.0.11

2011 年 3 月 11 日

第四个稳定版本。

7.0.12

2011 年 4 月 6 日

当前稳定版本。

Note

有关版本更改、发布和比较的更多信息,请访问 http://en.wikipedia .org/wiki/Apache_Tomcat 和 http://wiki.apache.org /tomcat/FrontPage.

Tomcat support matrix

Apache Tomcat 可以根据不同的组件进行分类,例如 JDK 版本、增强、稳定性等。让我们举一个实时示例,您想决定为应用程序部署哪个 Apache Tomcat 版本。例如,如果应用程序使用 Servlet 2.4 和 JSP 2.0,那么我们应该总是选择 5.x 版本。实际上,要找出我们应该使用哪个版本的 Tomcat 来正确利用系统资源是一项艰巨的工作。

通常,这些任务将由公司的技术架构师完成,他们全权负责任何产品中使用的技术规范。基于Tomcat的特性,让我们快速的来看看不同版本的Tomcat对比:

特征

7.x

6.x

5.x

4.x

3.x

版本规范

Servlet 3.0、JSP 2.2、EL 2.2

Servlet 2.5、JSP 2.1

Servlet 2.4、JSP 2.0

Servlet 2.3、JSP 1.2

Servlet 2.2、JSP 1.1

稳定:

是的

是的

是的

是的

是的

增强功能

是的

是的

不太可能

不大可能

不大可能

Bug修复

是的

是的

是的

不大可能

不大可能

安全修复

是的

是的

是的

不大可能

不大可能

发布

是的

是的

是的

不大可能

不大可能

发布经理

马克·托马斯 (markt)

让-弗雷德里克·克莱尔 (jfclere)

菲利普·哈尼克 (fhanik)

马克·托马斯 (markt)

比尔巴克 (billbarker)

过程

点击率

实时时钟

实时时钟

点击率

点击率

在下载页面上列出

是的

是的

是的

不

不

JDK版本

1.6

1.5

1.4

1.3

1.1

在上表中,极不可能意味着使用旧版本的用户必然需要升级更高版本才能支持新的改进功能。它还涉及当前版本的安全修复。

Features and enhancements of Apache Tomcat 7

在上一节中,我们讨论了 Tomcat 版本的各种支持矩阵,现在我们了解了 Tomcat 的支持规范(JDK 支持、EJB 和 Servlet)。让我们尝试了解并快速查看 Tomcat 7 的新功能/增强功能。

Apache Tomcat 7.x 的发布对 Tomcat 6.x 进行了一些关键改进,并实时实现了 Servlet 3.0、JSP 2.2 和 EL 2.2 规范。除此之外,它还解决了以前版本中的一些主要问题。

Web application memory leak detection and prevention

Tomcat 在 4.x/5.x 版本中存在内存泄漏的时间顺序问题。在 Tomcat 的整个生命周期内重新加载应用程序时,都会产生 OutOfMemoryError 异常。 Tomcat 在追踪与内存相关的错误和问题方面付出了非凡的努力,以避免内存泄漏。

Servlet 3.0

Tomcat 7 为 Servlet 3.0 提供了很好的支持。 Servlet 3.0 帮助开发人员非常轻松地编写代码,并且还为异步编程技术提供了重要的支持。提供的支持类型有:

  • 异步支持: Servlet 3.0 的异步支持已经完全集成到 Tomcat 7 中。异步编程的最大优点是服务器没有等待资源的响应。例如,如果您有 2000 个并发用户在使用一个应用程序,那么我们不能为数据库分配 2000 个连接并让连接处于空闲状态,直到我们得到响应。通过使用异步编程,您的应用程序可以在此特定用户等待来自资源(例如 DB、NAS 等)的响应时处理其他用户请求。

  • 动态配置:这又是 Servlet 3.0 的一个非常重要的特性。由于 Tomcat 7 对 Web 片段的支持,开发人员现在不需要为他们的应用程序 web.xml 实现特定的库配置。这意味着,您可以在 web.xml中集成库引用。

  • 基于注解的配置: 借助 Tomcat 7 中对 Servlet 3.0 的额外支持,开发人员可以包含装饰性编程风格。实现装饰器的最大优点是您可以在应用程序 servlet 类而不是 Web 服务器中配置重写规则。因此,您减少了对 Web 服务器的依赖。它还消除了对部署描述符的需求。

Improved logging

Tomcat 7 包含两个新的日志功能,以便用户更好地理解日志分析:

  • 异步文件处理程序:异步处理程序允许Tomcat通过专用线程将日志写入磁盘,从而使日志记录操作不会造成任何处理延迟线程。

  • 单行日志格式化程序:单行格式化程序将日志写入单行,这对管理员来说是一个更好的功能。

Aliases

这是管理员的最佳功能。它为管理员提供了消除对另一个 Web 服务器托管多个网站的依赖性的自由。除此之外,您还可以托管整个静态内容(单个包中的图像/JavaScript)。

Note

关于 Tomcat 7 功能需要记住的要点

Apache Tomcat 7 可以通过 JRE 1.6 或更高版本运行。这意味着我们不必安装完整的 Java Development Kit(JDK)。这对空间紧缩问题非常有帮助,Java 的瘦身将使用更少的内存。但是,从管理员的角度来看,也建议安装完整的 Java 开发工具包,因为它提供了对管理员非常有帮助的其他实用程序(jmap、jstack)。这有一个内置的 eclipse JIT (Just in Time) 编译器。

Apache Tomcat 7 解决了类加载冲突问题,例如 ClassCastExceptions。 ClassCastExceptions 表示在运行时加载时类存在问题。

Installation of Tomcat 7


在上一节中,我们讨论了 Apache Tomcat 7 中的新增强功能。现在,是时候继续安装 Tomcat。

How to download the Tomcat software

执行以下步骤下载软件:

  • 在我们开始安装 Apache Tomcat 7 软件之前,首先想到的是您可以从哪里下载该软件以及许可证费用是多少?默认情况下,Apache 附带 Apache 许可证,版本 2.0,它与 GPL(通用公共许可证)兼容。简单来说,就是免费!有关许可证的更多信息,您可以访问 http://www.apache.org/licenses/ 。现在,第二个问题是如何下载软件。

  • 始终建议从其官方网站下载该软件, http://tomcat .apache.org/download-70.cgi。默认情况下,在 http://tomcat.apache.org/上,我们得到最新的Tomcat包的稳定版本,我们必须根据操作系统下载包,我们要安装它。

读书笔记《apache-tomcat-7-essentials》Tomcat 7的安装

下载完成后,您必须使用 MD5 校验和对下载的软件进行完整性检查。

Note

MD5 消息摘要算法是一种广泛使用的加密散列函数,它产生一个 128 位(16 字节)的散列值。

以下是使用 MD5 校验和执行完整性检查的过程:

  1. 1. 从网站 apache.org下载MD5校验和。 MD5 校验和与我们下载的每个包都集成在一起。前面的截图显示了 MD5 中可用的包,通过点击网站上的 md5,我们可以将我们系统中生成的校验和与网站上给出的值。

  2. 2. 运行以下命令为下载的软件生成校验和。请参阅以下屏幕截图:

    [root@localhost opt]# cksum apache-tomcat-7.0.12.zip
    
    读书笔记《apache-tomcat-7-essentials》Tomcat 7的安装

Tomcat 附带了不同的安装包,例如二进制、源代码和 RPM。根据要求,应从官方站点获取软件包。让我们简单讨论一下应该实时实现哪个包以及为什么。

Binary package

它带有一个预设的库和定制的配置,根据行业标准实施和测试。使用二进制包的几个优点是:

  • 它是一个标准包,适合大多数实时环境

  • 在非DOS环境下(如Linux、UNIX等),我们可以在单个OS上配置多个Tomcat实例

  • 它是路径无关的;我们可以根据我们可用的资源(硬件)在操作系统的任何部分配置 Tomcat

RPM/exe

RPM 被定义为系统安装程序,在每个操作系统上独立开发和编译。它有一个预定义的库,仅适用于相应的操作系统。使用 RPM 的一些优点是:

  • 它不需要为包安装任何依赖库

  • RPM 是使用相应操作系统的共享库构建的

  • 不需要单独配置启动服务

唯一的缺点是,我们不能在单个操作系统中配置多个实例,并且它具有预定义的路径。

Source

您可以使用源包根据您的要求自定义安装。假设你想在安装软件的过程中进行自定义,可以在这个包中完成。

  • Tomcat的定制可以非常有效地完成(只安装需要的服务)

  • 在非DOS环境下(如Linux、UNIX等),我们可以在单个OS上配置多个Tomcat实例

  • 它是路径无关的;我们可以根据我们可用的资源(硬件)在操作系统的任何部分配置 Tomcat

  • 在生产环境中,始终建议使用源代码或二进制文件而不是 RPM

Prerequisites for the Tomcat 7 installation

在开始安装 Apache Tomcat 7 之前,我们必须配置先决条件,它们对于启动 Tomcat 7 安装非常重要。以下是 Apache Tomcat 7 提到的先决条件:

  • Java SE 1.6 或更高版本

  • 操作系统环境变量的配置

Installation of Java

Java 已由许多供应商开发。根据应用程序需求和架构类型,不同的应用程序使用不同的 JVM。常见的 JDK 供应商有 IBM、HP、Sun、OpenJDK 等。 Sun 在 IT 行业拥有大量股份。 JDK 被各种 IT 行业广泛使用和接受。

JDK 包可用于每个操作系统,并且可以使用一组通用库在任何系统上进行编译。这些软件包在 Internet 上很容易获得,或者已经与不同的操作系统供应商集成。

JDK/JRE 有 32 位和 64 位版本,所以我们可以根据应用需求来使用它。 64 位与 32 位的一些性能特征虚拟机(VM ) 是:

  • 与在 32 位 VM 上运行相同的应用程序相比,使用 64 位的好处是能够处理大量内存,这在 64 位 VM 中性能损失很小

  • 您可以为内存密集型应用程序分配超过 4 GB 给 JVM

Note

在 64 位 Java 版本中,与 32 位版本相比,您必须为 JVM 分配更多内存。实际上,64 位 Java 需要比 32 位 Java 版本多 30% 的内存。

Installation of Java in Linux

在本主题中,我们将讨论在 Linux 上安装 Java 期间执行的步骤:

  1. 1. 在 Linux 系统上从 Oracle 站点下载 JDK。

    Note

    有关版本更改和发布的更多信息,请访问 http ://www.oracle.com/technetwork/java/javase/downloads/index.html。

    我们正在硬盘驱动器的 /opt 分区上进行安装,我们使用的 Java 版本是 Java(TM) SE Runtime Environment (build 1.6.0_24-b07)。

    • 下载完成后,将在 /opt (jdk-6u24-linux-i586.bin) 中创建二进制文件.

  2. 2. 使用以下命令更改包的权限:

    chmod 0755 jdk-6u24-linux-i586.bin
    

    Note

    chmod 0755 文件 等价于 u=rwx (4+2+1),go=rx (4+1 & 4+1 ) 。 0 没有指定特殊模式。

  3. 3.运行以下命令安装JDK:

    [root@localhost opt]# ./jdk-6u24-linux-i586.bin
    
    • 您将看到类似于以下屏幕截图的输出:

    读书笔记《apache-tomcat-7-essentials》Tomcat 7的安装
  4. 4. 安装过程中,二进制会提示接受协议,然后按回车。请参阅以下屏幕截图:

    读书笔记《apache-tomcat-7-essentials》Tomcat 7的安装
  5. 5. 按 Enter后会退出命令提示符,如下图所示:

    读书笔记《apache-tomcat-7-essentials》Tomcat 7的安装
  6. 6. 安装完成后,二进制会在 /opt中创建名为 jdk1.6.0_24的文件夹。如果该文件夹存在于 /opt 中,则表示安装已成功完成。请参阅以下屏幕截图:

    读书笔记《apache-tomcat-7-essentials》Tomcat 7的安装

让我们快速浏览一下JDK目录结构,如上一张截图所示:

  • bin: 它包含 JDK 的 java、javac、jmap 等的整个可执行文件。

  • jre: 它包含 Java 执行该功能所需的所有文件。

  • lib: 顾名思义,它是 JDK 的库目录。

  • man: 该目录包含Java 的所有手册页(文档目录)。

  • demo:-此文件夹包含不同实用程序的工作示例。这些实用程序可以直接使用。

  • sample: 此目录包含演示目录中提供的实用程序的代码文件。

  • include: 它包含Java.h中使用的不同函数的头文件

  • db: 它包含 Derby 数据库的整个组件。 Derby 是一个纯Java 关系数据库引擎。

Note

Tomcat 7 可以在 JRE 上运行,这意味着不需要安装 JDK 组件;如果您的环境中存在可以相应定制的空间问题。

Installation of Java in Windows

在本主题中,我们将讨论在 Windows 操作系统中安装 Java 时执行的步骤:

  1. 1. 在 Windows 系统上从 Oracle 站点通过以下链接下载 JDK: http://www.oracle.com/technetwork/java/javase/downloads/index.html。

    Note

    我们正在硬盘的 C 分区上进行安装,我们使用的 Java 版本是 Java(TM) SE Runtime Environment (build 1.6.0_24-b07)。

  2. 2. 下载完成后, jdk-6u24-windows-i586.exe会在下载位置创建。

  3. 3. 双击 jdk-6u24-windows-i586.exe文件,开始安装Java。它将打开一个新的弹出窗口进行安装。请参阅以下屏幕截图:

    读书笔记《apache-tomcat-7-essentials》Tomcat 7的安装
  4. 4. 点击窗口上的 Next,我们会进入一个新窗口,我们可以根据需要自定义JDK安装,也可以定义JDK的安装路径。在当前环境中,我们将 Java 安装在默认位置。

  5. 5. 检查默认路径是否为 C:\Program Files\Java\jdk1.6.0_24。

  6. 6. 检查字段安装类型:默认。

    读书笔记《apache-tomcat-7-essentials》Tomcat 7的安装
  7. 7. 安装完成后,会显示完成状态,类似如下截图:

    读书笔记《apache-tomcat-7-essentials》Tomcat 7的安装

Configuration of OS environment variables

在不同的操作系统上安装 Java 之后,现在是时候在操作系统级别为 Tomcat 设置环境变量了。为了运行 Tomcat,我们必须将 JAVA_HOME 定义为环境变量,并设置 Java 的路径,以便可以从 OS 的任何分区访问它。

What is JAVA_HOME?

JAVA_HOME为JDK安装目录,例如 C:\jdk6。它旨在设置为环境变量并在 Windows 批处理文件或 Unix 脚本中引用。在 Tomcat 中, JAVA_HOME 定义在 catalina.sh 下 TOMCAT_HOME/bin .下面的截图展示了Tomcat 7中 JAVA_HOME的定义。一旦你执行了 startup.sh,它会在内部调用 catalina.sh 并调用 JAVA_HOME。在生产环境中,始终建议使用永久环境变量。

读书笔记《apache-tomcat-7-essentials》Tomcat 7的安装
Setting the JAVA_HOME and PATH variable in Windows

在 Windows 中可以通过以下步骤设置环境变量和路径:

  1. 1. 右键单击​​桌面上的我的电脑图标,然后单击属性,如下图所示:

    读书笔记《apache-tomcat-7-essentials》Tomcat 7的安装
  2. 2.点击高级|环境变量.

  3. 3. 在系统变量下,点击新建。

  4. 4. 在变量名字段中,输入 JAVA_HOME,如下图所示:

    读书笔记《apache-tomcat-7-essentials》Tomcat 7的安装
  5. 5.在变量值字段,输入Java开发包的安装路径。

  6. 6. 点击确定。

  7. 7. 点击应用更改。

Setting the global path variable in Windows

在设置 JAVA_HOME之后,现在是时候在全局路径变量中添加Java路径了。以下是在Windows中创建全局路径变量需要遵循的详细过程:

  1. 1. 右键单击​​桌面上的我的电脑图标,然后单击属性。

  2. 2. 点击高级 |环境变量。

  3. 3. 在系统变量下,点击路径。

  4. 4. 编辑路径,最后添加Java路径。

    读书笔记《apache-tomcat-7-essentials》Tomcat 7的安装
  5. 5. 在变量值字段中,输入Java开发工具包的安装路径,如上图所示。

  6. 6. 点击 OK。

  7. 7. 点击应用更改。

Setting the JAVA_HOME and the PATH environment variable in Linux

与 Windows 相比,Linux 中的环境变量和路径设置不同。执行以下步骤在 Linux 中设置环境变量:

  1. 1. 使用 vi 编辑器为 root 用户打开 .bash_profile。

    Note

    您也可以将环境变量放在 bashrc 中。它也将在用户登录时执行。

  2. 2. 在文件中添加以下环境变量。以下是 .bash_profile的代码片段。突出显示的代码显示了 JAVA_HOME 和 PATH 的声明。 export 将为每个用户登录添加 JAVA_HOME 和 PATH 到系统参数。

    # .bash_profile
    # Get the aliases and functions
    if [ -f ~/.bashrc ];then . ~/.bashrc
    fi
    # User specific environment and start-up programs
    JAVA_HOME=/opt/jdk1.6.0_24
    PATH=$JAVA_HOME/bin:$PATH:$HOME/bin
    export PATH JAVA_HOME
    unset USERNAME
    
  3. 3. 使用 :wq 命令保存 .bash_profile。

  4. 4. 保存 .bash_profile 后,您必须注销并重新登录环境以使用以下命令激活更改:

    su - username
    su - root (as our user is root)
    

    Note

    如果我们为任何用户运行前面的命令,那么该用户的配置文件将被重新加载。

此外,您可以运行 env 命令来验证环境变量是否配置正确,如下图所示:

读书笔记《apache-tomcat-7-essentials》Tomcat 7的安装

Note

首先备份现有配置文件始终是最佳实践。如果在进行更改时出现问题,那么我们可以使用命令 cp 恢复更改

[root@localhost ~]# cp .bash_profile .bash_profile_backup.

现在我们已经为Windows和Linux环境设置了环境变量,但是如何验证环境设置是否正确呢?

在开始安装 Apache Tomcat 7 之前,让我们快速验证两个操作系统上的环境变量。

在 Windows 环境下,可以使用以下命令验证变量:

echo %VARIABLE_NAME%

对于 JAVA_HOME:

C:\Users\user>echo %JAVA_HOME%
C:\Program Files\Java\jdk1.6.0_24

对于 PATH:

C:\Users\user>echo %PATH%
C:\Program Files\PC Connectivity Solution\;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\ Program Files\Broadcom\Broadcom 802.11\Driver;
C:\Program Files\Java\jdk1.6.0_24\bin

在 Linux 中,我们可以使用以下命令来验证环境变量:

echo $VARIABLE_NAME

对于 JAVA_HOME:

[root@localhost ~]# echo $JAVA_HOME
/opt/jdk1.6.0_24

对于 PATH:

[root@localhost ~]# echo $PATH
/opt/jdk1.6.0_24/bin:/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/ sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin

在验证两个操作系统上的环境变量后,我们可以确定 JAVA_HOME 和 PATH 在环境中设置正确。我们已经完成了安装 Apache Tomcat 7 的先决条件。现在,我们可以继续安装 Apache Tomcat 7。

Installation of Apache Tomcat 7

让我们开始在不同操作系统上安装 Tomcat 7。首先讨论在 Windows 上安装软件所涉及的步骤,然后我们进入 Linux 环境。

Installation on a Windows environment

在本主题中,我们将讨论 Tomcat 7 软件安装过程中涉及的步骤。以下是步骤:

  1. 1.从Tomcat官网下载最新稳定版,http://tomcat .apache.org/download-70.cgi。我们正在下载 32 位/64 位 Windows 服务安装程序(pgp、md5)。下载完成后,将其保存在软件文件夹中。

  2. 2. 双击apache-tomcat-7.0.14.exe。它将启动设置向导。

    Note

    如果您在下载的文件夹中没有找到 exe 文件,请使用链接下载它,<​​a class="ulink" href="http://apache.osuosl .org/tomcat/tomcat-7/v7.0.23/bin/" target="_blank"> http://apache.osuosl.org/tomcat/tomcat-7/v7.0.23/bin/。将文件保存在 apache-tomcat 文件夹中。

  3. 3. 然后,点击 Next按钮继续,如下图所示:

    读书笔记《apache-tomcat-7-essentials》Tomcat 7的安装
  4. 4. 显示协议弹出窗口。点击我同意。这意味着我们同意按照 GPL 许可使用 Tomcat 7,如下图所示:

    读书笔记《apache-tomcat-7-essentials》Tomcat 7的安装
  5. 5. 以下窗口显示了我们需要安装的不同组件:

    读书笔记《apache-tomcat-7-essentials》Tomcat 7的安装
  6. 6.在下一步中,我们必须为Tomcat Manager配置用户名和密码,如下面的截图所示。我们已将用户名和密码设置为“管理员”。点击下一步。

    读书笔记《apache-tomcat-7-essentials》Tomcat 7的安装
  7. 7.在下一个窗口中,如果变量定义正确,它将从 JAVA_HOME变量中获取Java版本,如下图所示:

    读书笔记《apache-tomcat-7-essentials》Tomcat 7的安装
  8. 8. 下一个窗口显示Tomcat的安装路径。默认情况下,我们使用 C:\Program Files\Apache Software Foundation\Tomcat 7.0。如果我们想要更改它,那么我们必须点击 Browse 并选择所需的路径。点击安装,如下截图所示:

    读书笔记《apache-tomcat-7-essentials》Tomcat 7的安装
  9. 9. 这是Tomcat 7安装的最后一步。这将显示Tomcat的成功执行,如下图所示:

    读书笔记《apache-tomcat-7-essentials》Tomcat 7的安装

Installation on a Linux environment

与 Windows 相比,在 Linux 环境中安装 Tomcat 7 非常简单。只需三个步骤即可完成:

  1. 1.从Tomcat官网下载最新稳定版 http://tomcat.apache .org/download-70.cgi。下载完成后,将其保存在 /opt 位置。使用以下命令解压 Tomcat 7 源码,即 apache-tomcat-7.0.12.zip:

    [root@localhost opt]# unzip apache-tomcat-7.0.12.zip
    
  2. 2.解压 apache-tomcat-7.0.12.zip后,会创建目录 apache-tomcat-7.0.12< /code> 在 opt 目录中。使用以下命令进入 apache-tomcat-7.0.12的 bin目录:

    [root@localhost opt]# cd apache-tomcat-7.0.12/bin/
    
  3. 3. 运行以下命令。如果您未能运行以下命令,则 Tomcat 服务将不会出现。默认情况下,包自带读/写权限,但不给包执行权限。我们必须手动更改权限:

    [root@localhost bin]# chmod 0755 *.sh
    [root@localhost bin]# pwd
    /opt/apache-tomcat-7.0.12/bin
    

    Note

    chmod 0755 文件 等价于 u=rwx (4+2+1),go=rx (4+1 & 4+1 ) 。 0 没有指定特殊模式。

完成此步骤后,在 Linux 中就完成了 Tomcat 的安装。

Startup and shutdown of Tomcat services

我们现在已经在两个操作系统上完成了 Apache Tomcat 的安装。现在,是时候启动服务并验证我们到目前为止创建的设置了。那么何必浪费时间,让我们摇滚吧。

Services in Windows

在 Windows 中,我们可以使用两种方法启动/停止服务:

  • 通过微软管理控制台(MMC):转到< span class="strong"> 开始 |运行 |<强> services.msc。当MMC打开时,如下图所示,您可以根据需求启动/停止服务:

读书笔记《apache-tomcat-7-essentials》Tomcat 7的安装
  • Apache 监控控制台: Tomcat 带有一个非常方便的管理工具,即俗称的 Apache 监控控制台。它在管理 Tomcat 实例(服务回收、启用日志和 JVM 配置)方面非常有用。以下屏幕截图显示了使用 Tomcat 监控控制台的回收过程。要启动/停止服务,请转到启动 |程序 | Apache-Tomcat7 |apache-tomcat 监视器启动/停止。

读书笔记《apache-tomcat-7-essentials》Tomcat 7的安装

Services in Linux

Linux 启动过程完全不同。在这里,我们必须手动运行启动/关闭脚本以使服务联机。让我们在 Linux 上启动服务来验证安装。

在此之前,让我们快速验证配置。 Tomcat 7 附带了不同的脚本,我们将通过这些脚本来验证是否完整安装。在Tomcat bin目录下有一个非常好的脚本,命名为 version.sh,通过它我们可以验证完整的Tomcat版本和系统信息。让我们使用以下命令运行脚本:

[root@localhost bin]# ./version.sh
Using CATALINA_BASE: /opt/apache-tomcat-7.0.12
Using CATALINA_HOME: /opt/apache-tomcat-7.0.12
Using CATALINA_TMPDIR: /opt/apache-tomcat-7.0.12/temp
Using JRE_HOME: /opt/jdk1.6.0_24
Using CLASSPATH: /opt/apache-tomcat-7.0.12/bin/bootstrap.jar:/opt/apache-tomcat-7.0.12/bin/tomcat-juli.jar
Server version: Apache Tomcat/7.0.12
Server built: Apr 1 2011 06:13:02
Server number: 7.0.12.0
OS Name: Linux
OS Version: 2.6.18-8.el5
Architecture: i386
JVM Version: 1.6.0_24-b07
JVM Vendor: Sun Microsystems Inc.

Tomcat bin 目录下还有一个非常有用的脚本。 configtest.sh 用于检查任何配置更改脚本。此脚本对系统执行快速配置检查并查找错误。让我们使用以下命令运行脚本:

[root@localhost bin]# ./configtest.sh
Using CATALINA_BASE: /opt/apache-tomcat-7.0.12
Using CATALINA_HOME: /opt/apache-tomcat-7.0.12
Using CATALINA_TMPDIR: /opt/apache-tomcat-7.0.12/temp
Using JRE_HOME: /opt/jdk1.6.0_24
Using CLASSPATH: /opt/apache-tomcat-7.0.12/bin/bootstrap.jar:/opt/apache-tomcat-7.0.12/bin/tomcat-juli.jar
May 22, 2011 4:06:16 PM org.apache.coyote.AbstractProtocolHandler init
INFO: Initializing ProtocolHandler ["http-bio-8080"]
May 22, 2011 4:06:16 PM org.apache.coyote.AbstractProtocolHandler init
INFO: Initializing ProtocolHandler ["ajp-bio-8009"]
May 22, 2011 4:06:16 PM org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 1401 ms

Note

configtest.sh 仅在 Linux 环境中可用。

完成配置检查后,启动 Tomcat 服务。可以使用 bin目录下的 startup.sh来启动Tomcat服务。

Startup script

要启动 Tomcat 服务,您必须执行以下提到的步骤:

  1. 1、第一步,将目录从当前位置更改为Tomcat目录。

    [root@localhost bin]# cd /opt/apache-tomcat-7.0.12/bin/
    
  2. 2.在 bin目录中,我们会找到Tomcat的整个可执行文件。要启动服务,我们必须使用以下命令。执行启动命令后,它将显示启动 Tomcat 所必需的参数。其中一些是 CATALINA_BASE、CATALINA_HOME、JRE_HOME等。

    [root@localhost bin]# ./startup.sh
    Using CATALINA_BASE: /opt/apache-tomcat-7.0.12
    Using CATALINA_HOME: /opt/apache-tomcat-7.0.12
    Using CATALINA_TMPDIR: /opt/apache-tomcat-7.0.12/temp
    Using JRE_HOME: /opt/jdk1.6.0_24
    Using CLASSPATH: /opt/apache-tomcat- 7.0.12/bin/bootstrap.jar:/opt/apache-tomcat-7.0.12/bin/ tomcat-juli.jar
    

Shutdown script

在名为 ./shutdown.sh 的 bin 目录中也有一个Tomcat 关闭脚本。让我们执行脚本以了解输出。详情如下:

[root@localhost bin]# cd /opt/apache-tomcat-7.0.12/bin/
[root@localhost bin]# ./shutdown.sh
Using CATALINA_BASE: /opt/apache-tomcat-7.0.12
Using CATALINA_HOME: /opt/apache-tomcat-7.0.12
Using CATALINA_TMPDIR: /opt/apache-tomcat-7.0.12/temp
Using JRE_HOME: /opt/jdk1.6.0_24
Using CLASSPATH: /opt/apache-tomcat- 7.0.12/bin/bootstrap.jar:/opt/apache-tomcat-7.0.12/bin/tomcat-juli.jar

Verification of Tomcat status

一旦我们执行了启动脚本,下一步就是验证 Tomcat 服务,检查服务是否正常运行。默认情况下,Tomcat 在 HTTP 端口 8080 上运行,并且可以在 Web 浏览器上使用 URL http://localhost:8080 访问。然后我们找到Tomcat的欢迎页面,显示Tomcat安装正确,在环境中运行正常,如下图所示:

读书笔记《apache-tomcat-7-essentials》Tomcat 7的安装

Tomcat 7 的欢迎页面显示后,我们可以通过单击 Server Status.

它将提示输入用户 ID/密码。请记住,我们已经创建了一个用户管理员,用户 ID 将在此处用于访问,如以下屏幕截图所示:

读书笔记《apache-tomcat-7-essentials》Tomcat 7的安装

Common problems and troubleshooting in installation


在安装 Tomcat 7 的过程中可能会出现多个问题。让我们讨论这些问题:

Error: Permission denied for the Java binary

场景 1: Java 安装不工作,同时执行 Java 二进制文件。< /一>

[root@localhost opt]# ./jdk-6u24-linux-i586.bin
-bash: ./jdk-6u24-linux-i586.bin: Permission denied

问题: Java 二进制文件没有特定用户的执行权限。

修复:将 ./jdk-6u24-linux-i586.bin的权限改为0755使用以下命令:

chmod 0755 jdk-6u24-linux-i586.bin

Note

chmod 0755 文件 等价于 u=rwx (4+2+1),go=rx (4+1 & 4+1 ) 。 0 没有指定特殊模式。

Error: Tomcat is not able to find JAVA_HOME

场景二:在启动Tomcat启动脚本时,出现如下错误:

[root@localhost bin]# ./startup.sh
Neither the JAVA_HOME nor the JRE_HOME environment variable is defined
At least one of these environment variables is needed to run this program

修复: 检查 .bash_profile 并找出文件中是否存在以下提到的条目:

JAVA_HOME=/opt/jdk1.6.0_24
PATH=$JAVA_HOME/bin:$PATH:$HOME/bin
export PATH JAVA_HOME

Error: Error in the logs showing port already in use

场景三: Tomcat服务运行后不显示 startup.sh.

问题:此服务已在服务器上运行。

修复: 在 Linux 中使用以下命令检查系统中运行的任何 Java 进程:

Ps -ef |grep tomcat

此命令将显示所有 Tomcat 进程。如果操作系统上正在运行任何进程,请将其终止并再次运行启动脚本。

在 Windows 中,转到任务管理器并检查是否有任何 Java 进程正在为 Tomcat 运行。如果有任何进程正在运行,则终止该进程并重新启动 Tomcat 服务。

Summary


在本章中,我们介绍了 Apache Tomcat 的历史和 Tomcat 7 中引入的新功能。我们在 Windows 和 Linux 操作系统上逐步安装了 Tomcat。此外,我们还讨论了安装过程中可能出现的常见问题及其可能的解决方案。

在下一章中,我们将讨论Tomcat 7中用于部署的各种方法以及部署过程中可能出现的问题的解决方案。