两台不同机器上的应用程序服务器和 Web 服务器

Application Server and Web Server on Two Different Machines

今天我要在 MacMini 上托管一个 Laravel v4 网络应用程序。为什么是 Mac?因为我在 Objective-C 中创建了应用程序逻辑(利用我在 iOS 开发方面的经验)。这是否是正确的选择不是问题的重点。

我感兴趣的是如何将 Web 和应用程序服务器分开。例如,如果我将我的 Web 服务器放在 Linode(或其他)上,我该如何在 Web 服务器和应用程序服务器之间来回通信?是否有某种资源可以让我了解如何执行此操作?

假设

以下是我的一些假设:

  1. 我猜 Laravel 和 Objetive-C 应用程序是同一个 "system" 的一部分,所以我只是将其视为您需要 Web 服务器向其发送请求PHP 申请。
  2. Linode 服务器将是一个向 PHP 应用程序发送请求的网络服务器 (Laravel)

托管PHP 应用程序

共有三个活动部分:

  1. 网络服务器(Apache、Nginx)
  2. 应用程序网关(PHP-FPM)
  3. 应用程序

网关和代码必须位于同一个 computer/server 上。 Web 服务器可以位于单独的 computer/server.

这意味着您的 Macintosh 需要 运行 PHP-FPM,然后它可以侦听远程连接并将它们发送到 PHP 应用程序。

苹果机

安装php-fpm on your mac。确保它可以侦听远程网络连接。这通常在 listen 目录中的 www.conf 文件中完成,您可以在远程网络接口上侦听连接(无论计算机分配的 IP 地址是什么)。

Linode

安装 Nginx 或 Apache 并让它代理 FastCGI 请求到 macintosh 服务器的 macintosh IP 地址(您在上面的步骤中设置为侦听地址的地址)。

防火墙

您可能需要确保两端的防火墙允许 incoming/outgoing 在用于相互通信的网络上建立连接。