如何使用PHP的网站处理基础结构,将被多次使用?

问题描述 投票:0回答:1

我有一些PHP Laravel项目(RESTful API,管理应用程序,客户端应用程序)。 API仅使用一个数据库。该项目是某些公司可以使用的应用程序。他们可以访问管理面板,客户端网页,可以使用自己的API,可以创建自己的用户,权限等。如果这个项目可以被一个客户使用是没有问题的,但是我将把这个程序卖给很多人。我将负责更新,托管,配置等。我想知道如何使其成为最佳方法,我对此有一些想法。

  1. 我曾想过有人每次从我这里购买应用时,都会在服务器上克隆该应用。这需要在服务器上设置一个新的子域和大量磁盘空间。不确定。
  2. 或者克隆应用程序并使用供应商,node_modules等符号链接共享某些文件。
  3. 另一个想法是使它成为一个项目,并且具有针对不同客户的许多数据库,但是如何以最佳方式在Laravel中实现它呢?我将需要一些动态的方式来更改数据库连接(我希望每个客户端都有单独的数据库),我不确定与会话,缓存等的冲突。
  4. 也许单独的数据库是一个错误的主意,最好拥有一个数据库并将其作为一个项目并出售对项目的访问权限?但是然后我需要将客户端的数据保存在一个数据库中。

你怎么看?

php laravel ubuntu multiple-instances code-sharing
1个回答
0
投票

作为SaaS(软件即服务)创建此应用程序。您可以给他们一些前端甚至客户端应用程序(网站和管理部分)的默认模板,但将所有后端保留在您的服务器上。创建REST端点,验证客户端并为其提供购买的功能。

例如:

客户A向您购买了计算器服务。它进行身份验证,然后对/ api / calculate / subtract / 5/1进行GET调用。您可以给他们答复您的计算器的功能,例如5-1 =4。他们可以将准备好的模板用于此数据预览或创建自己的模板。

客户B向您购买了计算器和存储服务。您计算相同的值,将其返回,但也将其存储在自己的数据库中。因此,客户端B也可以调用GET / api / storage / last_calculation,然后您将它们指定为4,因为客户端数据存储在数据库中,因此他也购买了存储服务,因此不需要自己设置数据库。

这是一个非常简单的示例,但是您应该明白这一点。

© www.soinside.com 2019 - 2024. All rights reserved.