当前位置:首页 >热点 >图解 Apache 与 Tomcat 安装和配置指南 您只能从 localhost 访问它们

图解 Apache 与 Tomcat 安装和配置指南 您只能从 localhost 访问它们

2024-07-01 11:40:20 [百科] 来源:避面尹邢网

图解 Apache 与 Tomcat 安装和配置指南

作者:聆听世界的图解鱼 运维 在本文中,我们将向您展示如何在 Ubuntu 上安装和配置 Tomcat 10,安装以及如何使用 mod_jk 连接器将其与 Apache HTTP Server 集成。和配

Apache Tomcat 是图解一个开源Web 服务器和 servlet 容器,用于部署和服务 Java Web 应用程序。安装大多数现代 Java Web 框架都基于 servlet,和配例如 JavaServer Faces、图解Struts、安装Spring 等。和配

图解 Apache 与 Tomcat 安装和配置指南 您只能从 localhost 访问它们

Apache Tomcat 还默认在 8080 端口上提供了一个 HTTP 连接器,图解即 Tomcat 也可以用作 HTTP 服务器。安装但是和配 Tomcat 的性能不如 Apache HTTP 服务器等指定 Web 服务器的性能。

图解 Apache 与 Tomcat 安装和配置指南 您只能从 localhost 访问它们

在大多数生产中,图解Tomcat 与 Apache HTTP Server 结合使用,安装其中 Apache HTTP Server 处理 html、和配图像等静态内容,并将对动态内容的请求转发给 Tomcat。

图解 Apache 与 Tomcat 安装和配置指南 您只能从 localhost 访问它们

本安装和配置指南适用于 Ubuntu 上带有 Tomcat 10 的 Apache。

1.安装Java

首先,像往常一样,更新你的包:

linuxmi@linuxmi:~/www.linuxmi.com$ sudo apt update

您必须在系统上安装 Java 才能运行 Tomcat 服务器。Tomcat 10 需要在您的系统上安装 Java SE 8 或更高版本。运行以下命令并安装 OpenJDK 11 JDK 包:

linuxmi@linuxmi:~/www.linuxmi.com$ sudo apt install openjdk-11-jdk

检查当前活动的 Java 版本:

linuxmi@linuxmi:~/www.linuxmi.com$ java -version

输出如下:

openjdk version "11.0.13" 2021-10-19
OpenJDK Runtime Environment (build 11.0.13+8-Ubuntu-0ubuntu1.20.04)
OpenJDK 64-Bit Server VM (build 11.0.13+8-Ubuntu-0ubuntu1.20.04, mixed mode, sharing)

2.创建Tomcat系统用户

在root用户下运行 Tomcat 服务器存在安全风险。我们建议创建单独的用户帐户来运行 Tomcat 服务器。

以下命令将在您的系统上创建一个名为tomcat的用户和组:

linuxmi@linuxmi:~/www.linuxmi.com$ sudo useradd -m -d /opt/tomcat -U -s /bin/false tomcat

3. 安装和配置 Apache Tomcat 10

Tomcat 是一个独立于平台的工具,只要安装了 Java,安装过程就很简单。您只需要从官网下载所需的版本,然后在您的文件系统上解压即可。

现在从官方 Tomcat 下载页面下载最新的 Tomcat 二进制版本。

linuxmi@linuxmi:~/www.linuxmi.com$ wget https://downloads.apache.org/tomcat/tomcat-10/v10.0.17/bin/apache-tomcat-10.0.17.tar.gz

下载完成后,将 tar 文件解压缩到 /opt/tomcat 目录:

linuxmi@linuxmi:~/www.linuxmi.com$ sudo tar xzvf apache-tomcat-10*tar.gz -C /opt/tomcat --strip-components=1

接下来,设置正确的文件权限:

linuxmi@linuxmi:~/www.linuxmi.com$ sudo chown -R tomcat:tomcat /opt/tomcat/
linuxmi@linuxmi:~/www.linuxmi.com$ sudo chmod -R u+x /opt/tomcat/bin

您应该在 Tomcat 服务器中为 Web 应用程序管理器创建一个用户。必须设置新用户帐户才能使用 Apache Tomcat Web 应用程序管理器。

为此,请 tomcat-users.xml 在编辑器中编辑文件:

linuxmi@linuxmi:~/www.linuxmi.com$ sudo vim /opt/tomcat/conf/tomcat-users.xml

将以下代码粘贴到<tomcat-users> </tomcat-users>标签中。确保更改PASSWORD admin 和 manager访问权限。

<!-- user manager can access only manager section -->
<role rolename="manager-gui" />
<user username="manager" password="PASSWORD" roles="manager-gui" />
<!-- user admin can access manager and admin section both -->
<role rolename="admin-gui" />
<user username="admin" password="PASSWORD" roles="manager-gui,admin-gui" />

Tomcat 提供了一个基于 Web 的管理控制台。默认的 Tomcat 服务器不允许远程访问 Manager 和 Host Manager 应用程序。您只能从 localhost 访问它们。为了允许远程连接,请按照以下说明进行操作。

创建一个文件 conf/Catalina/localhost/manager.xml:

linuxmi@linuxmi:~/www.linuxmi.com$ sudo vim /opt/tomcat/conf/Catalina/localhost/manager.xml

添加以下内容:

<Context privileged="true" antiResourceLocking="false" docBase="{ catalina.home}/webapps/manager">
<Valve className="org.apache.catalina.valves.RemoteAddValve" allow="^.*$" />
</Context>

您还需要为 host-manager webapp 创建 xml 文件以允许远程主机访问。

linuxmi@linuxmi:~/www.linuxmi.com$ sudo vim /opt/tomcat/conf/Catalina/localhost/host-manager.xml

添加以下内容:

<Context privileged="true" antiResourceLocking="false" docBase="${ catalina.home}/webapps/host-manager">
<Valve className="org.apache.catalina.valves.RemoteAddValve" allow="^.*$" />
</Context>

4. 创建 Tomcat 系统服务

我们需要创建一个启动脚本来将 Tomcat 作为 systemd 服务进行管理。让我们创建一个tomcat.service文件。

linuxmi@linuxmi:~/www.linuxmi.com$ sudo vim /etc/systemd/system/tomcat.service

将以下内容粘贴到文件中:

[Unit]
Description=Tomcat
After=network.target
[Service]
Type=forking
User=tomcat
Group=tomcat
Environment="JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64"
Environment="JAVA_OPTS=-Djava.security.egd=file:///dev/urandom"
Environment="CATALINA_BASE=/opt/tomcat"
Environment="CATALINA_HOME=/opt/tomcat"
Environment="CATALINA_PID=/opt/tomcat/temp/tomcat.pid"
Environment="CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC"
ExecStart=/opt/tomcat/bin/startup.sh
ExecStop=/opt/tomcat/bin/shutdown.sh
[Install]
WantedBy=multi-user.target

重新加载 systemd 守护进程以应用更改:

linuxmi@linuxmi:~/www.linuxmi.com$ sudo systemctl daemon-reload

将 Tomcat 设置为开机自动启动:

linuxmi@linuxmi:~/www.linuxmi.com$ sudo systemctl enable tomcat

5. 安装 Apache HTTP 服务器

Apache 在 Ubuntu 的默认软件存储库中可用。要安装它,请键入以下命令:

linuxmi@linuxmi:~/www.linuxmi.com$ sudo apt install apache2

6. 配置 Tomcat 以使用 Apache

要将 Apache Tomcat 服务器进程与 Apache HTTP 服务器集成,我们需要 mod_jk 模块,它实现了 Tomcat 和 Apache 之间的接口,并结合了一些小步骤来根据我们的需要配置 Apache 和 Tomcat。

6.1 安装 mod_jk 模块

安装和配置mod_jk是让 Web 服务器和应用程序服务器协同工作的关键。所以,让我们安装它:

linuxmi@linuxmi:~/www.linuxmi.com$ sudo apt install libapache2-mod-jk

6.2 使用 Apache 和 Tomcat 配置 mod_jk。

您需要在 Tomcat 中启用 AJP 连接器,以便 Apache 服务器可以将请求重定向到 Tomcat。您是通过编辑 Tomcat 的server.xml文件来完成的。

linuxmi@linuxmi:~/www.linuxmi.com$ sudo vim /opt/tomcat/conf/server.xml

确保下面的 AJP 连接器处于活动状态且未被注释掉。

<Connector protocol="AJP/1.3"
address="::1"
port="8009"
redirectPort="8443" />

现在我们需要配置 Apache HTTP Server 来加载和初始化 JK 模块。

我们需要创建/etc/apache2/workers.properties文件。该文件定义了 Apache 可以向其传递请求的 Tomcat 'worker' 列表。

linuxmi@linuxmi:~/www.linuxmi.com$ sudo vim /etc/apache2/workers.properties

并将以下内容粘贴到文件中:

# Define 1 real worker using ajp13
worker.list=worker1
# Set properties for worker1 (ajp13)
worker.worker1.type=ajp13
worker.worker1.host=localhost
worker.worker1.port=8009

接下来在主 Apache 配置文件中引用此文件apache2.conf:

linuxmi@linuxmi:~/www.linuxmi.com$ sudo vim /etc/apache2/apache2.conf

我们在最后添加这些行:

JkWorkersFile /etc/apache2/workers.properties
# Where to put jk shared memory
JkShmFile /var/log/apache2/mod_jk.shm
# Where to put jk logs
JkLogFile /var/log/apache2/mod_jk.log
# Set the jk log level [debug/error/info]
JkLogLevel info
# Select the timestamp log format
JkLogStampFormat "[ %a %b %d %H:%M:%S %Y ] "

6.3 配置使用 Apache 管理的 URL

此时,您需要配置 Apache 以告诉它要处理哪些 URL 并将其移交给 Tomcat,以及您希望 Apache 自己处理哪些 URL。

linuxmi@linuxmi:~/www.linuxmi.com$ sudo vim /etc/apache2/sites-enabled/000-default.conf

DocumentRoot在条目下添加以下行。这样您就可以通过 Apache Web 服务器请求 JRS。

JkMount /examples worker1
JkMount /examples/ worker1

7. 如何验证它是否正常工作

重启 Apache 和 Tomcat 服务:

linuxmi@linuxmi:~/www.linuxmi.com$ sudo systemctl restart apache2
linuxmi@linuxmi:~/www.linuxmi.com$ sudo systemctl restart tomcat

启动服务器后,打开 Internet 浏览器并导航到 URL http://server_ip_address:8080。如果您看到与下图类似的页面,则表示 Tomcat 已正确安装。

验证 Apache HTTP Server 和 Tomcat 之间的集成是否正常工作的一种简单方法是请求 Tomcat 应提供的示例文件之一。

将您的浏览器指向http://server_ip_address/examples/并运行一些示例应用程序。

责任编辑:庞桂玉 来源: Linux公社 ApacheTomcat运维

(责任编辑:综合)

    推荐文章
    热点阅读