首页 > 解决方案 > 用于 java war 和 php 的 Apache Web 服务器或 Tomcat

问题描述

我正在为一家公司构建一个应用程序,我还必须处理部署。该应用程序是一个 java restful API,我通常部署在 tomcat 上。应用程序的前端是用 PHP 编写的(不是我写的),将安装在同一台机器上。后端必须可以从前端和 Web 访问。

考虑到这是一个生产环境,最好的方法是什么?

  1. 我是否将所有内容都安装在tomcat上?战争和php应用程序。
  2. 我是否在 Apache Web 服务器上的 tomcat 和 PHP 前端安装战争?
  3. 我是否将 tomcat 连接到 Apache Web 服务器?
  4. 完全不同的东西?

在同一台机器上同时拥有后端和前端是否也有缺点?

标签: javaphpapachetomcatwar

解决方案


如果您的后端使用 Servlet API,则需要一个 servlet 服务器,而Tomcat是一个常见的选择。即使 Tomcat 提供CGIServlet,我相信没有人在生产服务器上使用它来运行 PHP 脚本。所以你至少需要两台服务器。

我会将它扩展到三台服务器并运行:

  • Tomcat 上的后端(绑定到localhost),
  • PHP FastCGI 服务器上的前端,如PHP-FPM(绑定到 Unix 套接字),
  • 像 NGINX(比 Apache2 更轻)这样的代理服务器来连接到PHP-FPM. 它不必代理 Tomcat,因为一切都在同一台机器上。

推荐阅读