如何在 CentOS 7 上安装 Apache Tomcat 8

介绍

Apache Tomcat 是一个用于服务 Java 应用程序的 Web 服务器和服务器容器 Tomcat 是由 Apache Software Foundation 发布的 Java Servlet 和 JavaServer Pages 技术的开源实现,本教程涵盖了您 CentOS 7 服务器上最新版本 Tomcat 8 的基本安装和某些配置。

前提条件

在您开始使用本指南之前,您应该在您的服务器上设置一个单独的非根用户帐户,您可以通过完成 CentOS 7 的 初始服务器设置中的步骤 1-3 来学习如何做到这一点。

安装Java

Tomcat 要求 Java 安裝在伺服器上,所以任何 Java 網頁應用程式代碼都可以執行. 讓我們用 yum 安裝 OpenJDK 7 來滿足這個要求。

若要使用 yum 安装 OpenJDK 7 JDK,请运行以下命令:

1sudo yum install java-1.7.0-openjdk-devel

在提示中回答y,继续安装OpenJDK 7。

请注意,我们需要稍后配置 Tomcat 的 JAVA_HOME 目录的捷径可在 `/usr/lib/jvm/jre 中找到。

现在Java已安装,让我们创建一个tomcat用户,它将用于运行Tomcat服务。

创建 Tomcat 用户

出于安全原因,Tomcat 应该作为非特权用户运行(即不是 root)。

首先,创建一个新的tomcat组:

1sudo groupadd tomcat

然后创建一个新的tomcat用户,我们将使这个用户成为tomcat组的成员,有/opt/tomcat的首页目录(我们将安装Tomcat)和/bin/false的壳(因此没有人可以登录帐户):

1sudo useradd -M -s /bin/nologin -g tomcat -d /opt/tomcat tomcat

现在我们的tomcat用户已设置,让我们下载并安装Tomcat。

安裝 Tomcat

目前安装Tomcat 8的最简单方法是下载最新二进制版本,然后手动配置。

点击下载Tomcat Binary

查找最新版本的 Tomcat 8 在 Tomcat 8 下载页面. 在写作时,最新版本是 8.5.37 . 在 ** 二进制分布** 部分,然后在 ** 核心** 列表中,复制链接到tar.gz

让我们下载最新的二进制分布到我们的主目录使用wget

首先,使用「yum」包管理器安装「wget」:

1sudo yum install wget

然后,更改您的家庭目录:

1cd ~

现在,使用wget并粘贴到链接中来下载Tomcat 8档案,如下(你的镜子链接可能与示例不同):

1wget https://www-eu.apache.org/dist/tomcat/tomcat-8/v8.5.37/bin/apache-tomcat-8.5.37.tar.gz

我们将安装Tomcat到‘/opt/tomcat’目录. 创建目录,然后用这些命令提取该档案:

1sudo mkdir /opt/tomcat
2sudo tar xvf apache-tomcat-8*tar.gz -C /opt/tomcat --strip-components=1

现在我们已经准备好设置适当的用户权限。

更新许可证

我们设置的tomcat用户需要对Tomcat安装有正确的访问权限。

转到 Tomcat 安装路径:

1cd /opt/tomcat

在整个安装目录上授予tomcat组所有权:

1sudo chgrp -R tomcat /opt/tomcat

接下来,给tomcat组读取访问conf目录及其所有内容,并执行访问目录本身:

1sudo chmod -R g+r conf
2sudo chmod g+x conf

然后,使tomcat用户成为webapps,work,templogs目录的所有者:

1sudo chown -R tomcat webapps/ work/ temp/ logs/

现在设置了正确的权限,让我们设置一个 Systemd 单元文件。

安装系统单元文件

由于我们希望能够作为服务运行Tomcat,我们将设置一个Tomcat Systemd单元文件。

创建和打开单元文件,运行此命令:

1sudo vi /etc/systemd/system/tomcat.service

您也可能想要修改在「CATALINA_OPTS」中指定的内存分配设置:

 1[label /etc/systemd/system/tomcat.service]
 2# Systemd unit file for tomcat
 3[Unit]
 4Description=Apache Tomcat Web Application Container
 5After=syslog.target network.target
 6
 7[Service]
 8Type=forking
 9
10Environment=JAVA_HOME=/usr/lib/jvm/jre
11Environment=CATALINA_PID=/opt/tomcat/temp/tomcat.pid
12Environment=CATALINA_HOME=/opt/tomcat
13Environment=CATALINA_BASE=/opt/tomcat
14Environment='CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC'
15Environment='JAVA_OPTS=-Djava.awt.headless=true -Djava.security.egd=file:/dev/./urandom'
16
17ExecStart=/opt/tomcat/bin/startup.sh
18ExecStop=/bin/kill -15 $MAINPID
19
20User=tomcat
21Group=tomcat
22UMask=0007
23RestartSec=10
24Restart=always
25
26[Install]
27WantedBy=multi-user.target

此脚本告诉服务器作为tomcat用户运行Tomcat服务,指定设置。

现在重新加载 Systemd 来加载 Tomcat 单元文件:

1sudo systemctl daemon-reload

现在你可以用这个systemctl命令启动Tomcat服务:

1sudo systemctl start tomcat

检查服务是否通过键入成功开始:

1sudo systemctl status tomcat

如果您要启用Tomcat服务,以便在服务器启动时启动,请运行此命令:

1sudo systemctl enable tomcat

Tomcat 尚未完全设置,但您可以在 Web 浏览器中访问您的域或 IP 地址,然后是 `:8080:

1[secondary_label Open in web browser:]
2http://server_IP_address:8080

您将看到默认的Tomcat插槽页面,除了其他信息,现在我们将深入到Tomcat的安装。

设置 Tomcat Web 管理接口

为了使用与 Tomcat 一起提供的管理器 webapp,我们必须在我们的 Tomcat 服务器上添加登录,我们将通过编辑 tomcat-users.xml 文件来完成此操作:

1sudo vi /opt/tomcat/conf/tomcat-users.xml

此文件填充了描述如何配置文件的评论,您可能希望删除下列两行之间的所有评论,或者如果要引用示例,您可以留下评论:

1[label tomcat-users.xml excerpt]
2<tomcat-users>
3...
4</tomcat-users>

你想添加一个可以访问manager-guiadmin-gui的用户(包括Tomcat在内的Web应用程序)。

1[label tomcat-users.xml — Admin User]
2<tomcat-users>
3    <user username="admin" password="password" roles="manager-gui,admin-gui"/>
4</tomcat-users>

保存并删除 tomcat-users.xml 文件。

默认情况下,新版本的 Tomcat 会限制访问 Manager 和 Host Manager 应用程序的连接来自服务器本身. 由于我们正在安装在远程机器上,您可能希望删除或更改此限制。

对于管理员应用程序,键入:

1sudo vi /opt/tomcat/webapps/manager/META-INF/context.xml

对于 Host Manager 应用程序,键入:

1sudo vi /opt/tomcat/webapps/host-manager/META-INF/context.xml

内部,请评论 IP 地址限制,以允许从任何地方连接. 或者,如果您想只允许访问来自自己的 IP 地址的连接,您可以将您的公共 IP 地址添加到列表中:

1[label context.xml files for Tomcat webapps]
2<Context antiResourceLocking="false" privileged="true" >
3  <!--<Valve className="org.apache.catalina.valves.RemoteAddrValve"
4         allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />-->
5</Context>

保存并关闭文件,当你完成。

要实施我们的更改,请重新启动Tomcat服务:

1sudo systemctl restart tomcat

访问 Web 界面

现在Tomcat已启动并运行,让我们在网页浏览器中访问网页管理接口. 您可以通过访问服务器的公共IP地址,在端口8080上:

1[secondary_label Open in web browser:]
2http://server_IP_address:8080

你会看到一些如下图像:

Tomcat root

正如你所看到的,有链接到我们配置了一个管理员用户的管理网页应用程序。

让我们看看管理员应用程序,可以通过链接或http://server_IP_address:8080/manager/html访问:

Tomcat Web Application Manager

Web Application Manager 用于管理 Java 应用程序. 您可以在这里启动、停止、重新加载、部署和卸载。 您也可以在您的应用程序上运行一些诊断(即查找内存漏洞)。

现在让我们看看主机管理器,可以通过链接或http://server_IP_address:8080/host-manager/html/`访问:

Tomcat Virtual Host Manager

从虚拟主机管理器页面,您可以添加虚拟主机来服务您的应用程序。

结论

您的 Tomcat 安装完成了! 您现在可以免费部署自己的 Java Web 应用程序!

Published At
Categories with 技术
comments powered by Disqus