搭建Apache HTTP Server(网络服务器)和Apache Tomcat(应用程序服务器)的环境,并实现它们之间的协作

<正在调整整体构成中>

首先

为了更好地理解Web三层结构,上一次我们创建了3台虚拟机,并进行了服务器之间的通信确认。
这一次我们要创建两台虚拟机,分别在每台虚拟机上构建Web服务器和AP服务器,并实现它们之间的协作。

安装和配置Apache HTTP Server(Web服务器)
②安装和配置Apache Tomcat(AP服务器)
试试是否能够协同工作。检查日志文件。

按照这个顺序进行。

准备前的准备

安装Java 8 (JDK)运行时

为了运行Apache Tomcat,需要使用Java 7或更高版本的运行时。请执行以下命令安装Java 8 (JDK)运行时环境。

ーのセットアップとデプロイを行います。

准备事前

安装Java 8 (JDK)运行环境。

要使Apache Tomcat运行,需要Java7或更高版本的运行时。
执行以下命令来安装Java 8 (JDK)运行时。

yum install java-1.8.0-openjdk

安装Apache HTTP服务器(Web服务器)

使用yum命令进行安装。

yum -y install httpd

请使用以下指令来启动。

systemctl start httpd

您可以使用以下命令来确认服务的状态。

systemctl status httpd

httpd.conf文件的配置

httpd.conf 是 Apache HTTP Server 的配置文件。
通过查看其内容,可以了解到里面包含了指定监听端口、服务器名称、日志输出位置等基本配置。

Apache HTTP Server通过使用名为AJP的协议与Apache Tomcat进行协同工作。为此,需要加载名为mod_proxy_ajp的模块。

查看httpd.conf文件的第56行,可以看到有关模块的放置位置的说明。
可以发现它会自动读取conf.modules.d目录下所有扩展名为.conf的文件。

image.png
image.png

在检查00-proxy.conf文件的内容时,我们可以看到如下几个模块文件。在这些文件中,要使用AJP协议,需要

image.png

代理传递设置

在Apache Tomcat上配置哪种类型的HTTP请求会发送AJP请求。
编写httpd.conf文件。
在进行编辑之前,先备份原始状态。

cd /etc/httpd/conf
cp httpd.conf httpd.conf.`date +%Y%m%d`

我們將以下內容加入到httpd.conf檔案的最後:
ProxyPass /tomcat/ ajp://AP Server的IP:8009/test/
ProxyPassReverse /tomcat/ ajp://AP Server的IP:8009/test/

安装和配置Apache Tomcat(AP服务器)。

首先使用useradd命令,注册用户”tomcat”作为启动Tomcat的用户。
由于这是一个专为运行Tomcat而创建的用户,因此将登录shell指定为/sbin/nologin。

useradd -s /sbin/nologin tomcat

然后,使用wget命令从Apache Tomcat 9的下载页面下载Apache Tomcat的压缩文件(需要先通过yum安装wget命令)。
截至2023年1月,最新版本是9.0.71。
请在以下URL中指定下载链接。

wget https://dlcdn.apache.org/tomcat/tomcat-9/v9.0.71/bin/apache-tomcat-9.0.71.tar.gz

将下载的 tar.gz 文件解压并放置在/opt目录下。使用tar命令进行解压,并将解压后的Apache Tomcat更改所有者为之前创建的tomcat用户(使用chown命令并附加-R选项以赋予目录及其子目录相同的权限)。

tar -xzvf ~/apache-tomcat-9.0.71.tar.gz
mv ~/apache-tomcat-9.0.71 /opt
chown -R tomcat:tomcat /opt/apache-tomcat-9.0.71

使其可以通过systemctl命令启动

如果你是用yum进行安装的httpd等软件,那么可以通过systemctl命令进行执行。但是,只是像这次一样下载并配置,无法通过systemctl进行执行。要使其能够启动,需要注册定义文件。
在/etc/systemd/system/目录下创建一个名为tomcat.service的单元文件。

vi /etc/systemd/system/tomcat.service

您可以在单元文件中记录单元的设置和要执行的命令行等。请键入以下内容,并使用:wq保存。

[Unit]
Description=Apache Tomcat 9
After=network.target

[Service]
User=tomcat
Group=tomcat
Type=oneshot
PIDFile=/opt/apache-tomcat-9.0.71/tomcat.pid
RemainAfterExit=yes

ExecStart=/opt/apache-tomcat-9.0.71/bin/startup.sh
ExecStop=/opt/apache-tomcat-9.0.71/bin/shutdown.sh
ExecReStart=/opt/apache-tomcat-9.0.71/bin/shutdown.sh;/opt/apache-tomcat-9.0.71/bin/startup.sh

[Install]
WantedBy=multi-user.target

使用以下命令,将创建的定义文件的权限更改为 755。
(所有者拥有完全权限,其他用户只能执行和读取)。

chmod 755 /etc/systemd/system/tomcat.service

只需提供一种选择:在/etc/systemd/system/目录下执行以下命令,将会反映配置文件的更改。

systemctl daemon-reload

修改server.xml文件

Tomcat默认接受8080端口(HTTP)和8009端口(AJP)的通信。
server.xml是定义Apache Tomcat操作的配置文件。
在整合Apache HTTP Server和Apache Tomcat时,需要在server.xml中修改以下两个点。

sever.xml在/opt/apache-tomcat-9.0.71/conf/目录下。
在进行编辑之前,请先对原始状态进行备份。

cd /opt/apache-tomcat-9.0.71/conf/
cp sever.xml sever.xml.`date +%Y%m%d`

请使用下面的命令进行编辑。

vi /opt/apache-tomcat-9.0.71/conf/server.xml

停止8080端口

image.png

应用AJP1.3协议。开放8009号端口。

只需要一个选项:
将Apache HTTP Server连接到Apache Tomcat时,使用AJP/1.3协议,在8009端口进行连接修正。
取消下面部分的注释,并删除了IPv6权限设置的语法(因此本次不使用)。
设置”secretRequired”时,

由于本次不使用Connector的属性”secretRequired”来设置密钥,因此将其更改为”false”。

image.png

httpd.conf的配置

进行连接测试和通信确认

使用浏览器访问Apache HTTP Server,并确认是否能与Apache Tomcat协同工作。
使用tail -f命令,查看日志文件。

回顾(所学之处)

当无法顺利协作时,尝试检查日志。

/var/log/messages、access.log、error.log、catalina.out 可以被用来记录在计算机系统中发生的事件、访问、错误以及Tomcat服务器的输出。

需要mod_proxy_ajp.so文件
– 根据自身的环境选择合适的信息。

结束

只需要一个选项,以下为中文的原生释义:
– 范例

    • 8080番ポートの停止とAJP/1.3プロトコルの確認

 

    • Webアプリにおけるサーバとクライアントの常識

 

    • Tomcat9へのアップグレード

 

    【Apache】httpd.conf ファイルの設定の解説
广告
将在 10 秒后关闭
bannerAds