介绍
Apache Tomcat 是一个用于提供 Java 应用程序的 Web 服务器和 Servlet 容器。Tomcat 是由 Apache 软件基金会发布的 Java Servlet 和 JavaServer Pages 技术的开源实现。本教程涵盖了在 Ubuntu 14.04 服务器上安装和配置最新版本的 Tomcat 8 的基本步骤。
先决条件
在开始本指南之前,您应该在服务器上设置一个单独的非根用户帐户。您可以通过完成 Ubuntu 14.04 的初始服务器设置中的步骤 1-3 来学习如何做到这一点。我们将在本教程的其余部分中使用在此处创建的 demo
用户。
安装 Java
Tomcat 要求服务器上安装了 Java,以便执行任何 Java Web 应用程序代码。让我们通过使用 apt-get 安装 OpenJDK 7 来满足这一要求。
首先,更新您的 apt-get 软件包索引:
sudo apt-get update
然后使用 apt-get 安装 Java 开发工具包:
sudo apt-get install default-jdk
在提示时输入 y
继续安装 OpenJDK 7。
现在 Java 已安装,让我们创建一个 tomcat
用户,该用户将用于运行 Tomcat 服务。
创建 Tomcat 用户
出于安全考虑,Tomcat 应该作为一个非特权用户(即非 root 用户)来运行。我们将创建一个新用户和组来运行 Tomcat 服务。
首先,创建一个新的 tomcat
组:
sudo groupadd tomcat
然后创建一个新的 tomcat
用户。我们将使该用户成为 tomcat
组的成员,其主目录为 /opt/tomcat
(我们将在其中安装 Tomcat),并且其 shell 为 /bin/false
(这样就没有人可以登录到该帐户):
sudo useradd -s /bin/false -g tomcat -d /opt/tomcat tomcat
现在我们设置好了 tomcat
用户,让我们下载并安装 Tomcat。
安装 Tomcat
目前安装 Tomcat 8 最简单的方法是下载最新的二进制发行版,然后手动配置它。
下载 Tomcat 二进制文件
在 Tomcat 8 下载页面找到最新版本的 Tomcat 8。在撰写本文时,最新版本是 8.0.23。在 Binary Distributions 部分下的 Core 列表中,复制 “tar.gz” 的链接。
让我们将最新的二进制发行版下载到我们的主目录。
首先,切换到您的主目录:
cd ~
然后使用 wget
并粘贴链接以下载 Tomcat 8 存档,如下所示(您的镜像链接可能与示例不同):
wget http://mirror.sdunix.com/apache/tomcat/tomcat-8/v8.0.23/bin/apache-tomcat-8.0.23.tar.gz
我们将安装 Tomcat 到 /opt/tomcat
目录。使用以下命令创建该目录,然后将存档解压到其中:
sudo mkdir /opt/tomcat sudo tar xvf apache-tomcat-8*tar.gz -C /opt/tomcat --strip-components=1
现在我们准备设置适当的用户权限。
更新权限
我们设置的 tomcat
用户需要对 Tomcat 安装具有适当的访问权限。我们现在来设置它。
切换到 Tomcat 安装路径:
cd /opt/tomcat
然后给 tomcat
用户 写 权限以访问 conf
目录,并给该目录中的文件 读 权限:
sudo chgrp -R tomcat conf sudo chmod g+rwx conf sudo chmod g+r conf/*
然后将 tomcat
用户设置为 work
、temp
和 logs
目录的所有者:
sudo chown -R tomcat work/ temp/ logs/
现在适当的权限已设置好,让我们设置一个 Upstart 初始化脚本。
安装 Upstart 脚本
因为我们希望能够将 Tomcat 作为服务运行,我们将设置一个 Upstart 脚本。
Tomcat 需要知道 Java 的安装位置。这个路径通常被称为 “JAVA_HOME”。查找该位置的最简单方法是运行以下命令:
sudo update-alternatives --config java
[secondary_label 输出:] 在链接组 java(提供 /usr/bin/java)中只有一个备用项:/usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java 无需配置。
JAVA_HOME 将在输出中显示,不包括尾随的 /bin/java
。对于上面的示例,JAVA_HOME 被用红色标出。
现在我们准备创建 Upstart 脚本。通过运行以下命令创建并打开它:
sudo nano /etc/init/tomcat.conf
粘贴以下脚本,并根据需要修改 JAVA_HOME
的值。您可能还希望修改 CATALINA_OPTS
中指定的内存分配设置:
description "Tomcat 服务器" start on runlevel [2345] stop on runlevel [!2345] respawn respawn limit 10 5 setuid tomcat setgid tomcat env JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64/jre env CATALINA_HOME=/opt/tomcat # 根据需要修改这些选项 env JAVA_OPTS="-Djava.awt.headless=true -Djava.security.egd=file:/dev/./urandom" env CATALINA_OPTS="-Xms512M -Xmx1024M -server -XX:+UseParallelGC" exec $CATALINA_HOME/bin/catalina.sh run # 停止后清理临时目录 post-stop script rm -rf $CATALINA_HOME/temp/* end script
保存并退出。此脚本告诉服务器以 tomcat
用户身份运行 Tomcat 服务,并使用指定的设置。它还使 Tomcat 在服务器启动时运行。
现在让我们重新加载 Upstart 配置,以便使用我们的新 Tomcat 脚本:
sudo initctl reload-configuration
Tomcat 已准备就绪。使用以下命令启动它:
sudo initctl start tomcat
Tomcat 还没有完全设置好,但您可以通过在 Web 浏览器中输入您的域名或 IP 地址后跟 :8080
来访问默认的启动页面:
[secondary_label 在 Web 浏览器中打开:] http://server_IP_address:8080
您将看到默认的 Tomcat 启动页面,以及其他信息。现在我们将深入了解 Tomcat 的安装。
配置 Tomcat Web 管理界面
为了使用 Tomcat 自带的管理 web 应用程序,我们需要在 Tomcat 服务器上添加一个登录。我们可以通过编辑 tomcat-users.xml
文件来实现这一点:
sudo nano /opt/tomcat/conf/tomcat-users.xml
该文件中包含了一些注释,描述了如何配置该文件。你可以删除以下两行之间的所有注释,或者保留它们以便参考示例:
<tomcat-users> ... </tomcat-users>
你需要添加一个可以访问 manager-gui
和 admin-gui
(Tomcat 自带的 web 应用程序)的用户。你可以通过定义类似下面示例的用户来实现。确保将用户名和密码更改为安全的内容:
<tomcat-users> <user username="admin" password="password" roles="manager-gui,admin-gui"/> </tomcat-users>
保存并退出 tomcat-users.xml
文件。为了使我们的更改生效,重新启动 Tomcat 服务:
sudo initctl restart tomcat
访问 Web 界面
现在 Tomcat 已经启动运行,让我们在 web 浏览器中访问 web 管理界面。你可以通过访问服务器的公共 IP 地址,端口为 8080 来实现:
[secondary_label 在 web 浏览器中打开:] http://server_IP_address:8080
你将看到类似以下图片的内容:
!Tomcat root
如你所见,有链接指向我们为管理员用户配置的管理 web 应用程序。
让我们来看看 Manager 应用程序,可以通过链接或 http://server_IP_address:8080/manager/html
访问:
!Tomcat Web 应用程序管理器
Web 应用程序管理器用于管理你的 Java 应用程序。你可以在这里启动、停止、重新加载、部署和取消部署。你还可以对应用程序运行一些诊断(例如查找内存泄漏)。最后,关于服务器的信息可以在页面底部找到。
现在让我们来看看 Host Manager,可以通过链接或 http://server_IP_address:8080/host-manager/html/
访问:
!Tomcat 虚拟主机管理器
从虚拟主机管理器页面,你可以添加虚拟主机以提供你的应用程序服务。
结论
你的 Tomcat 安装已经完成!现在你可以自由部署自己的 Java web 应用程序了!