技术开发 频道

在Apache中整合JSP和PHP



【IT168 专稿】

    我们最希望任何事都是完美的,如在企业应用中,我们只需要选择一个Web平台就可以部署所有的企业应用。但往往理想与现实相去甚远。在现实世界中,信息系统往往是由很多不同的操作系统、平台以及应用环境混合而成的。而且为了保持与旧的系统兼容,系统总是将当前的技术和以前的遗留技术进行混合,这样周而复始。就使系统变得越来越复杂。

    对于这样的恶性变化会使很多人疲于奔命,尤其是开发人员,他们将面临几乎令人崩溃般的挑战。尤其是要将两个或更多的技术部署在同一个应用时更是如此。如本文要给出的例子中,就是将PHP和JSP程序同时部署在运行于Apache中的同一个应用程序中。在这个例子中,将提供一种方法来快速地部署这两种Web程序。开发人员也可以借鉴这种方法来处理其他类似的难题。

    也许有很多人会问,我应该如做也能将基于PHP和JSP的Web程序部署在同一个Web应用程序中呢?下面我就来回答这个问题。这个问题的基本答案就是先将apache配置成PHP Web服务器,并使用Apache来处理所有的PHP/CGI请求,同时使用Tomcat处理所有的其他请求(包括JSP请求)。在开始之前,让我们先看看需要哪些软件:

完成本文的例子需要三个软件:
1. Apache HTTP Server
2. Apache Tomcat
3. Apache Tomcat Connectors

一、解决方案所使用的技术

    对于上述的问题,我们有几个解决方案可以考虑。这些解决方案如下所示:

    1. 使Apache服务器作为主要的或默认的请求处理器,只传递Servlet/JSP请求给Java容器。

    2. 
Java容器作为主要或默认的请求处理器,只允许PHP/CGI请求由Apache处理。

    3.
不使用Apache,并在Tomcat中运行PHP/CGI程序。

   
上述的前两种解决方案类似。这两种方法都是将大量的请求引入某一个服务器(TomcatApache),然后使用别外的服务器处理个别的请求(JSPPHP)。第三种方法虽然看起来比较简单,很诱人。但Apache在处理PHP时的效率是非常高的,并且提供了更安全的机制,因此,Tomcat并不合适处理PHP程序。

   
在本文中我们将采用第二种方案,就是将Tomcat作为主要的Web服务器来接收大部分请求,同时Apache作为后备服务器来处理PHP/CGI请求,它们的关系如图1所示。如果读者对第一种方法情有独衷,可以很容易地根据第二种方法来设置。



                          1  Tomcat作为主要的请求处理器,Apache作为辅助请求处理器
0
相关文章