如何在同一服务器环境中运行PHP和Tomcat?

在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服务器之前来实现,但是找不到配置来实现这一点.

有人可以提供有关如何实现这一目标的任何提示吗?

解决方法:

你可以用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.

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...