在CentOS 7上安装Apache Tomcat 8的方法

简介: 在CentOS 7上安装Apache Tomcat 8的方法

介绍

Apache Tomcat 是一个用于提供 Java 应用程序的 Web 服务器和 Servlet 容器。Tomcat 是由 Apache 软件基金会发布的 Java Servlet 和 JavaServer Pages 技术的开源实现。本教程涵盖了在 CentOS 7 服务器上安装和配置最新版本的 Tomcat 8 的基本步骤。

先决条件

在开始本指南之前,您应该在服务器上设置一个单独的非根用户帐户。您可以通过完成 CentOS 7 的初始服务器设置中的步骤 1-3 来学习如何做到这一点。我们将在本教程的其余部分中使用在此处创建的 demo 用户。

安装 Java

Tomcat 要求在服务器上安装 Java,以便执行任何 Java Web 应用程序代码。让我们通过使用 yum 安装 OpenJDK 7 来满足这一要求。

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

sudo 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 服务。

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

sudo groupadd tomcat

然后创建一个新的 tomcat 用户。我们将使该用户成为 tomcat 组的成员,其主目录为 /opt/tomcat(我们将在其中安装 Tomcat),并且其 shell 为 /bin/false(这样就没有人可以登录到该帐户):

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

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

安装 Tomcat

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

下载 Tomcat 二进制文件

在 Tomcat 8 下载页面找到最新版本的 Tomcat 8。在撰写本文时,最新版本是 8.5.37。在 Binary Distributions 部分下的 Core 列表中,复制 “tar.gz” 的链接。

使用 wget 将最新的二进制发行版下载到您的主目录:

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

sudo yum install wget

然后,切换到您的主目录:

cd ~

现在,使用 wget 并粘贴链接来下载 Tomcat 8 存档,如下所示(您的镜像链接可能与示例不同):

wget https://www-eu.apache.org/dist/tomcat/tomcat-8/v8.5.37/bin/apache-tomcat-8.5.37.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 组:

sudo chgrp -R tomcat /opt/tomcat

接下来,给 tomcat 组对 conf 目录及其所有内容的读取权限,并对目录本身给予执行权限:

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

然后将 webappsworktemplogs 目录的所有权交给 tomcat 用户:

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

现在适当的权限已设置好,让我们设置一个 Systemd 单元文件。

安装 Systemd 单元文件

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

通过运行以下命令创建并打开该单元文件:

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

粘贴以下脚本。您可能还希望修改 CATALINA_OPTS 中指定的内存分配设置:

# 用于 Tomcat 的 Systemd 单元文件
[Unit]
Description=Apache Tomcat Web Application Container
After=syslog.target network.target
[Service]
Type=forking
Environment=JAVA_HOME=/usr/lib/jvm/jre
Environment=CATALINA_PID=/opt/tomcat/temp/tomcat.pid
Environment=CATALINA_HOME=/opt/tomcat
Environment=CATALINA_BASE=/opt/tomcat
Environment='CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC'
Environment='JAVA_OPTS=-Djava.awt.headless=true -Djava.security.egd=file:/dev/./urandom'
ExecStart=/opt/tomcat/bin/startup.sh
ExecStop=/bin/kill -15 $MAINPID
User=tomcat
Group=tomcat
UMask=0007
RestartSec=10
Restart=always
[Install]
WantedBy=multi-user.target

保存并退出。此脚本告诉服务器以指定的设置作为 tomcat 用户运行 Tomcat 服务。

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

sudo systemctl daemon-reload

现在您可以使用以下 systemctl 命令启动 Tomcat 服务:

sudo systemctl start tomcat

通过输入以下命令检查服务是否成功启动:

sudo systemctl status tomcat

如果要启用 Tomcat 服务,使其在服务器启动时启动,请运行以下命令:

sudo systemctl enable tomcat

Tomcat 还没有完全设置好,但您可以通过在 Web 浏览器中输入您的域名或 IP 地址后跟 :8080 来访问默认的启动页面:

[secondary_label 在 Web 浏览器中打开:]
http://server_IP_address:8080

您将看到默认的 Tomcat 启动页面,以及其他信息。现在我们将深入了解 Tomcat 的安装。

配置 Tomcat Web 管理界面

为了使用 Tomcat 自带的管理 Web 应用程序,我们必须向我们的 Tomcat 服务器添加登录。我们将通过编辑 tomcat-users.xml 文件来实现这一点:

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

该文件中充满了描述如何配置文件的注释。您可能希望删除以下两行之间的所有注释,或者如果您想引用示例,可以将它们保留下来:

<tomcat-users>
...
</tomcat-users>

您将希望添加一个可以访问 manager-guiadmin-gui(Tomcat 自带的 Web 应用程序)的用户。您可以通过定义类似下面示例的用户来实现。确保将用户名和密码更改为安全的内容:

<tomcat-users>
    <user username="admin" password="password" roles="manager-gui,admin-gui"/>
</tomcat-users>

保存并退出 tomcat-users.xml 文件。

默认情况下,较新版本的 Tomcat 限制对 Manager 和 Host Manager 应用程序的访问仅限于来自服务器本身的连接。由于我们正在远程安装,您可能希望删除或更改此限制。要更改这些应用程序的 IP 地址限制,请打开相应的 context.xml 文件。

对于 Manager 应用程序,输入:

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

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

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

在内部,注释掉 IP 地址限制以允许来自任何地方的连接。或者,如果您只想允许来自您自己 IP 地址的连接,您可以将您的公共 IP 地址添加到列表中:

<Context antiResourceLocking="false" privileged="true" >
  <!--<Valve className="org.apache.catalina.valves.RemoteAddrValve"
         allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />-->
</Context>

完成后保存并关闭文件。

要使我们的更改生效,请重新启动 Tomcat 服务:

sudo systemctl 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 Application Manager

Web 应用程序管理器用于管理您的 Java 应用程序。您可以在这里启动、停止、重新加载、部署和取消部署。您还可以对应用程序运行一些诊断(例如查找内存泄漏)。最后,此页面底部提供有关服务器的信息。

现在让我们看看 Host Manager,可通过链接或 http://server_IP_address:8080/host-manager/html/ 访问:

!Tomcat Virtual Host Manager

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

结论

您已经完成了Tomcat的安装!现在您可以自由地部署自己的Java Web应用程序了!


目录
相关文章
|
9月前
|
存储 Ubuntu Linux
VMware-安装CentOS系统教程及安装包
虚拟机相当于是一个独立于你电脑的环境,在这个环境上面,你可以安装Linux、Windows、Ubuntu等各个类型各个版本的系统,在这个系统里面你不用担心有病读等,不用担心文件误删导致系统崩溃。 虚拟机也和正常的电脑系统是一样的,也可以开关机,不用的时候,你关机就可以了,也不会占用你的系统资源,使用起来还是比较方便 这里也有已经做好的CentOS 7系统,下载下来解压后直接用VMware打开就可以使用
1511 69
|
8月前
|
存储 分布式计算 Linux
安装篇--CentOS 7 虚拟机安装
VMware 装 CentOS 7 不知道从哪下手?这篇超详细图文教程手把手教你在 VMware Workstation 中完成 CentOS 7 桌面系统的完整安装流程。从 ISO 镜像下载、虚拟机配置,到安装图形界面、设置用户密码,每一步都有截图讲解,适合零基础新手快速上手。装好之后无论你是要搭 Hadoop 集群,还是练 Linux ,这个环境都够你折腾一整天!
3581 3
|
9月前
|
Ubuntu Linux 索引
Centos 7、Debian及Ubuntu系统中安装和验证tree命令的指南。
通过上述步骤,我们可以在CentOS 7、Debian和Ubuntu系统中安装并验证 `tree`命令。在命令行界面中执行安装命令,然后通过版本检查确认安装成功。这保证了在多个平台上 `tree`命令的一致性和可用性,使得用户无论在哪种Linux发行版上都能使用此工具浏览目录结构。
822 78
|
10月前
|
Linux 网络安全 Apache
针对在Centos/Linux安装Apache过程中出现的常见问题集锦
以上每个问题的解决方案应深入分析错误日志、系统消息和各种配置文件,以找到根本原因并加以解决。务必保持系统和Apache软件包更新到最新版本,以修复已知的bugs和安全漏洞。安装和管理Web服务器是一项需要细致关注和不断学习的任务。随着技术的发展,推荐定期查看官方文档和社区论坛,以保持知识的更新。
394 80
|
8月前
|
安全 关系型数据库 MySQL
CentOS 7 yum 安装 MySQL教程
在CentOS 7上安装MySQL 8,其实流程很清晰。首先通过官方Yum仓库来安装服务,然后启动并设为开机自启。最重要的环节是首次安全设置:需要先从日志里找到临时密码来登录,再修改成你自己的密码,并为远程连接创建用户和授权。最后,也别忘了在服务器防火墙上放行3306端口,这样远程才能连上。
2085 16
|
9月前
|
存储 关系型数据库 MySQL
在CentOS 8.x上安装Percona Xtrabackup工具备份MySQL数据步骤。
以上就是在CentOS8.x上通过Perconaxtabbackup工具对Mysql进行高效率、高可靠性、无锁定影响地实现在线快速全量及增加式数据库资料保存与恢复流程。通过以上流程可以有效地将Mysql相关资料按需求完成定期或不定期地保存与灾难恢复需求。
716 10
|
10月前
|
人工智能 数据挖掘 Linux
Centos安装Python3.7(亲测可用)
本指南详细介绍了在基于Linux(以CentOS系统为例,使用yum包管理器)的系统上安装Python 3.7版本的完整流程。Python是一种广泛使用的高级编程语言,在各种领域如软件开发、数据分析、人工智能和区块链开发等都有着重要的应用。
850 2
|
9月前
|
运维 网络协议 Linux
CentOS下Bind服务的安装与故障排查
通过以上的步骤,您应该能够在CentOS系统上安装并配置BIND DNS服务,并进行基本的故障排查。
738 0
|
9月前
|
存储 Ubuntu Linux
安卓手机免root安装各种Linux系统:Ubuntu, Centos,Kali等
此外还可以安装Slackware、Archstrike等系统,还可以通过github查找方法安装更多有趣的东西。 昨日小编就是通过Termux安装的Kali Linux工具包。