使用Drupal的3层服务器架构

时间:2017-07-19 13:05:03

标签: php drupal 3-tier

Drupal可以部署在3层服务器架构(Webserver / Appserver / Database)上吗?

我们的数据库层将拥有MySQL。 drupal适合哪一层以及剩下的层应该使用什么?

2 个答案:

答案 0 :(得分:1)

是的,可以。

  • 应用程序层基本上是应用程序的Web节点。它将有一个Web服务器(Apache,Nginx)和Drupal在其上运行。
  • 数据层将是MySQL或MariaDB的数据库节点。您只需在Drupal的settings.php文件中提供其IP地址即可。您可能希望为要挂载到/sites/default/files的共享文件系统添加额外的节点。
  • 演示文稿层是一个棘手的部分。您可能没有它(因此允许Drupal的模板系统处理演示文稿 - 即应用程序层也将处理演示文稿)。但是,Drupal可以运行"无头" - 完全作为API服务器,它使您能够编写自己的表示逻辑(基本上,API客户端)。

这样的设计有一些有趣的好处:你可以在Drupal和演示之间挤压一些缓存机制,从而消除Drupal的缓慢。您还可以通过克隆Web节点轻松地水平扩展Drupal实例。您甚至可以完全关闭Drupal以进行更新,而表示层仍然可以提供缓存内容。

有一些有趣的无头/去耦Drupal会议会议:

答案 1 :(得分:0)

简短的回答是否定的。

答案很长,因为Drupal是Open Source,你可以做很多工作,你可以有效地创建自己的Drupal分叉版本,然后你需要维护它,因为Drupal的更新将不再适用于您的版本。

Drupal,Joomla和其他PHP / MySQL CMS解决方案旨在安装在单个Web服务器上,而无需在真正的3层体系结构中将表示,业务逻辑和数据访问层分开。

这意味着它们非常实用,易于安装和使用,适用于拥有典型网络托管解决方案的任何人,但这也意味着它们不适合您的典型企业应用程序处理需要更彻底保护和集成的私人信息与后台应用程序。 (当然,如果同一家企业只想拥有一个信息网站,那么它们就完全没问题了。)