多个 Web 服务器使用仅存储在一台服务器上的 PHP 文件吗?

多个 Web 服务器使用仅存储在一台服务器上的 PHP 文件吗?

是否有可能让由负载平衡器平衡的多个 Web 服务器节点使用存储在本地网络其他地方的 PHP 文件?目前,我有两个节点,静态内容(上传、文件缓存)通过 SSHFS 共享。但是,维护此设置很麻烦,因为应用程序在两台服务器上都本地存在。如果我设想另一台服务器或决定我需要平衡另一个应用程序,那么在管理这些应用程序文件时,我的工作量就会增加 n+1。

我找不到有关此问题的任何资源。有没有办法将 .php 应用程序文件存储在服务器 Z 上,而服务器 X 和 Y 使用自己的硬件运行它们?

答案1

在我们的案例中,我们有 2 个(或更多)Web 服务器,每个服务器都有我们的应用程序副本(我们使用 GitHub 标记,并通过 DevOps 指示服务器提取标记)。这样,每个服务器都有相同的代码库。如果我需要一台新服务器,DevOps 会启动一个新实例,对其进行配置并提取代码副本。添加到负载平衡器即可。

我们有一个单独的实例运行我们的数据库,我们的 DevOps 服务器通过 NFS 托管共享。PHP 会话存储在数据库中,然后加载到 DevOps 服务器上的 memcached 中。

根据您的情况,您可以设置 NFS 共享,并让其他服务器使用该共享来托管文件。虽然效率较低,但可行。

相关内容