Apache 网络服务器或 Tomcat 用于 java war 和 php
Apache web server or Tomcat for java war and php
我正在为一家公司构建应用程序,我还必须处理部署。
该应用程序是 java restful API,我通常将其部署在 tomcat 上。应用程序的前端用 PHP 编写(不是我写的)并将安装在同一台机器上。后端必须可以从前端和 Web 访问。
考虑到这是一个生产环境,最好的方法是什么?
- 我要在 tomcat 上安装所有东西吗? war 和 php 应用程序。
- 我是否在 tomcat 上安装 war 并在 Apache 网络服务器上安装 PHP 前端?
- 我是否将 tomcat 连接到 Apache 网络服务器?
- 完全是别的东西?
在同一台机器上安装后端和前端是否也有缺点?
如果您的后端使用 Servlet API,您需要一个 servlet 服务器,Tomcat 是一个常见的选择。即使 Tomcat 提供 CGIServlet,我相信没有人会在生产服务器上使用它来 运行 PHP 脚本。所以你至少需要两台服务器。
我会把它扩展到三台服务器 运行:
- Tomcat 上的后端(绑定到
localhost
),
- PHP FastCGI 服务器上的前端,例如 PHP-FPM(绑定到 Unix 套接字),
- 像 NGINX(比 Apache2 更轻)这样的代理服务器连接到
PHP-FPM
。它不必代理 Tomcat,因为一切都在同一台机器上。
我正在为一家公司构建应用程序,我还必须处理部署。 该应用程序是 java restful API,我通常将其部署在 tomcat 上。应用程序的前端用 PHP 编写(不是我写的)并将安装在同一台机器上。后端必须可以从前端和 Web 访问。
考虑到这是一个生产环境,最好的方法是什么?
- 我要在 tomcat 上安装所有东西吗? war 和 php 应用程序。
- 我是否在 tomcat 上安装 war 并在 Apache 网络服务器上安装 PHP 前端?
- 我是否将 tomcat 连接到 Apache 网络服务器?
- 完全是别的东西?
在同一台机器上安装后端和前端是否也有缺点?
如果您的后端使用 Servlet API,您需要一个 servlet 服务器,Tomcat 是一个常见的选择。即使 Tomcat 提供 CGIServlet,我相信没有人会在生产服务器上使用它来 运行 PHP 脚本。所以你至少需要两台服务器。
我会把它扩展到三台服务器 运行:
- Tomcat 上的后端(绑定到
localhost
), - PHP FastCGI 服务器上的前端,例如 PHP-FPM(绑定到 Unix 套接字),
- 像 NGINX(比 Apache2 更轻)这样的代理服务器连接到
PHP-FPM
。它不必代理 Tomcat,因为一切都在同一台机器上。