搭建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的文件。
在检查00-proxy.conf文件的内容时,我们可以看到如下几个模块文件。在这些文件中,要使用AJP协议,需要
代理传递设置
在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端口
应用AJP1.3协议。开放8009号端口。
只需要一个选项:
将Apache HTTP Server连接到Apache Tomcat时,使用AJP/1.3协议,在8009端口进行连接修正。
取消下面部分的注释,并删除了IPv6权限设置的语法(因此本次不使用)。
设置”secretRequired”时,
由于本次不使用Connector的属性”secretRequired”来设置密钥,因此将其更改为”false”。
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 ファイルの設定の解説