apache httpd 同时处理 tomcat 和 php

apache httpd handling tomcat and php at same time

我正在设置服务器以使用端口 80 同时处理 PHP 和 Tomcat Java,但通过不同的域。

  1. PHP: abc.yyy.com
  2. Java: def.yyy.com

两个域都已指向此服务器并且工作正常。

到目前为止,使用相同的 Apache httpd,我已经可以使用 mod_jk 访问我的 tomcat,或者使用 php 处理程序访问我的 php。但是我一次只能访问其中一个。

include C:/apache-tomcat-7.0.85/conf/mod_jk.conf

<VirtualHost def.yyy.com:8082>
    ServerName def.yyy.com
    JkMount  /* worker1
</VirtualHost>

# if i comment everything above this line, my php below works well,
# but if I don't, everything is redirected to tomcat above

LoadModule php7_module "C:/PHP72/php7apache2_4.dll"
AddHandler application/x-httpd-php .php
PHPIniDir "C:/PHP72"

有谁知道是否有设置强制 abc.yyy.com 由 php 引擎处理,而 def.yyy.com 由 mod_jk 处理?

谢谢。

======================

回答

如果有人在这里浏览寻找答案,这里是工作配置:

include C:/apache-tomcat-7.0.85/conf/mod_jk.conf

<VirtualHost *:8082>
    ServerName def.yyy.com
    JkMount  /* worker1
</VirtualHost>
<VirtualHost *:8082>
    ServerName abc.yyy.com
    DocumentRoot "C:/Program Files/Apache24/htdocs"
</VirtualHost>

LoadModule php7_module "C:/PHP72/php7apache2_4.dll"
AddHandler application/x-httpd-php .php
PHPIniDir "C:/PHP72"

您当然可以使用不同的端口:Can a single Apache server handle both Tomcat and PHP?

老实说,不知道你是否可以在同一个端口上收听。

编辑

是的,你可以:https://sites.google.com/a/ci2s.com.ar/wiki/technics/how-to-run-apache-httpd-and-tomcat-on-port-80-using-mod-proxy