刚才在AskUbuntu上问这个: https://askubuntu.com/questions/630897/apache-httpd-backed-by-both-tomcat-and-php 但没有答案,所以我决定在这里问。
再一次 - 假设我的某些域名可以访问服务器,例如http://mywebapp.com/
我想在该服务器上设置以下内容:
http://mywebapp.com/blog*
等所有请求都由PHP
服务器处理(Wordpress博客引擎具体)http://mywebapp.com/*
由Apache Tomcat
我认为这可以通过将Apache HTTPD
服务器放在Tomcat
和PHP
服务器前面来实现,但无法找到实现此目的的配置。
有人可以提供有关如何实现这一目标的任何提示吗?
答案 0 :(得分:4)
您可以使用mod_jk执行此操作:
1)在Apache Web服务器httpd.conf中启用模块“mod_jk”。通过删除前导散列取消注释此行:
LoadModule jk_module modules/mod_jk.so
如果您使用的是Linux类型:
sudo apt-get install libapache2-mod-jk
sudo a2enmod jk
2)编辑[TOMCAT_DIR] /conf/server.xml。将“jvmRoute”属性添加到“engine”元素:
<Engine name="Catalina" defaultHost="localhost" jvmRoute="tomcat">
取消注释AJP连接器(可能禁用http连接器):
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
3)在“httpd.conf”旁边创建一个“workers.properties”文件。添加此内容并设置正确的ip / port:
worker.list=tomcat
worker.tomcat.type=ajp13
worker.tomcat.host=127.0.0.1
#This is the port from the AJP connector, not HTTP!
worker.tomcat.port=8009
worker.tomcat.lbfactor=10
4)在httpd.conf的末尾添加此映射,并用绝对路径替换[PATH_TO_DIR]:
<IfModule jk_module>
JkWorkersFile [PATH_TO_DIR]\workers.properties
JkLogFile [PATH_TO_DIR]\mod_jk.log
JkLogLevel INFO
JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories
SetEnvIf Request_URI "/error/*" no-jk
SetEnvIf Request_URI "/blog*" no-jk
JkMount / tomcat
JkMount /* tomcat
</IfModule>
5)启动Tomcat并重启Httpd。