将xampp的Apache和Tomcat进行整合

我是第一次投稿。

因为有机会在XAMPP上构建测试环境,所以我将其作为备忘录记下来。

环境

    • XAMPP Version 7.4.10

 

    • Apache 2.4.46

 

    Tomcat 7.0.105

Apache的配置

请确认以下设置未被注释,并已启用。

LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_ajp_module modules/mod_proxy_ajp.so

接下来,我们将添加以下设定。

<Location /test/>
    ProxyPass ajp://localhost:8009/test/
</Location>

简单解释一下,当您在Apache中使用“localhost/test”进行访问时,通过ajp通信将处理转发到Tomcat的webapps文件夹中的“test”应用程序。

Tomcat的配置

然后我们将对接收 AJP 通信的 Tomcat 进行设置。

解除以下设置的注释。
在本次使用的版本中,它位于第92行附近。

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

接下来,将两个设置选项添加到取消注释的设置中,并按照以下方式进行配置。

<Connector protocol="AJP/1.3"
           address="::1"
           port="8009"
           redirectPort="8443"
           URIEncoding="UTF-8"
           secretRequired="false" />

在Tomcat7之前,默认情况下将「URIEncoding」设置为「ISO-8859-1」。

请参考以下网址:https://tomcat.apache.org/tomcat-7.0-doc/config/http.html#Common_Attributes

在一些问题的情况下,当必须将Tomcat8降级到Tomcat7时,在将输入的全角文字插入数据库时,我遇到了乱码问题(因为Tomcat8默认设置为“UTF-8”,所以之前没有注意到…)。

「secretRequired=”false”」默认为“true”设置,原本需要设置密码。基本上,XAMPP是作为验证使用的,并且为了快速连接设置为“false”。如果有机会,我会添加说明。

总结

最开始我对Apache和Tomcat的角色差异感到困惑,费了很大努力才找到答案。为了让尽可能多的人受益,我会不断添加信息,希望成为一个更好的信息提供者。