2012-07-06 141 views
7

我有一个需求,即拥有一台运行在同一个Apache上的Java应用程序和PHP应用程序的服务器。这可能吗?单个Apache服务器可以同时处理Tomcat和PHP吗?

这个问题可能很愚蠢,但我不知道java的要求或安装程序。

我可以做这样的事情,以便在同一个Apache上运行一个端口上的Java应用程序和另一个端口上的PHP应用程序?

+0

你可以用VirtualHosts做什么,http://httpd.apache.org/docs/2.0/vhosts/examples.html#port,但是你不想让它只使用一个端口吗? – cha0site 2012-07-06 14:28:31

+0

这是一个奇怪的要求。也许他们希望在同一台服务器上安装Apache Tomcat(用于Java应用程序)和Apache HTTP Server for PHP?这当然是可行的。 – 2012-07-06 14:34:49

+0

@古斯塔夫卡尔森 - 你说得对 – Hacker 2012-07-06 14:35:30

回答

8

是的,你可以做到这一点。实质上,您必须在一个端口上运行Apache(+ PHP)服务器,并在另一个端口上运行Tomcat服务器。

  • 可以暴露第二个端口到外面的世界,和你的网址,请使用端口80的Apache/PHP或(比如说)8080的Java服务器。这很简单,但您可能会发现上游防火墙会阻止远程Web浏览器连接到除80以外的任何端口。

  • 您可以将您的Apache服务器配置为Java服务器的反向代理。因此,例如,Apache服务器可能会认识到http://site.com/javaapp/foo.html用于Java服务器,并将该URL的请求转发至http://localhost:8080/javaapp/foo.html

关于使用mod_proxy配置正向和反向代理的Apache文档有整个章节。

3

是的。

Apache HTTPd可以使用ModProxy或ModAJP委托给Apache Tomcat,并且可以根据请求的域,路径或文件扩展名进行配置。您的PHP的Apache HTTPd配置将保持不变。

您需要将Apache Tomcat配置为而不是在端口80上侦听,然后将您选择的Apache HTTPd代理解决方案配置为在不同端口上与Tomcat对话。

下面是详细信息的起点:Apache + Tomcat: Using mod_proxy instead of AJP

相关问题