将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的角色差异感到困惑,费了很大努力才找到答案。为了让尽可能多的人受益,我会不断添加信息,希望成为一个更好的信息提供者。