gpt4 book ai didi

php - 构建一个 'multi-site' 应用程序

转载 作者:行者123 更新时间:2023-11-29 05:00:15 24 4
gpt4 key购买 nike

我正在计划一个允许用户创建特定类型网站的应用程序。我想将帐户名称链接到“account.myapp.com”。转到“account.myapp.com”将提供一个网站。我不知道如何映射这个。我将使用 Code Igniter 作为我的开发工具。

我想让用户能够为他们的网站添加注册域名,而不是使用标准子域。对此有什么提示/方法吗?

此外,在使用这种设计开发某些东西时,我应该注意哪些陷阱和问题?我最担心的是让自己陷入糟糕的数据库设计的困境,并造成应用程序维护或更新的噩梦。

感谢您的宝贵时间!

最佳答案

您计划让一个应用程序为所有网站提供服务将是一项艰巨的任务,需要大量的工作。这并不是说这是不可能的(许多企业 CMS,包括 Sharepoint,允许您通过一次安装运行“虚拟站点”等)。

您将需要进行大量规划和设计,特别是在安全方面,以确保各个站点独立运行。我假设每个站点都有自己的帐户——您将不得不做很多工作来确保用户不会意外(或恶意)开始编辑另一个站点。

而且您考虑维护是正确的 - 如果您的所有站点都在一个应用程序下运行,因此只有一个数据库,那么该数据库将很快变得又大又乱。它还会成为单点故障。

更好的计划是开发一个独立的解决方案(针对单个网站)- 然后可以从它自己的目录运行,它有自己的数据库和自己的帐户集。它会小得多(就代码和数据库而言),因此可能表现得更好。日常维护会更容易(从备份恢复网站),但软件更新(添加新功能)会有点棘手,尽管它是 PHP,它只是文件上传和 SQL 补丁,因此您可以自动执行此操作轻松。

在域方面:如果您使用独立应用程序(每个网站一个)方法,您可以使用 Apache 的 Dynamic Virtual Hosts功能,它有效地将 URL 映射到文件系统,(因此 website.mydomain.com 可以转换为自动从/home/vhosts/com/mydomain/website 中分离出来):因此部署一个新网站将是简单复制的问题将文件放入正确的目录、创建数据库和更新配置文件,所有这些都可以轻松实现自动化。

如果用户想使用他们自己的 URL,那么他们必须首先更新他们的 DNS 以指向您的服务器,其次您需要为该域配置一个 Apache 虚拟主机,这可能需要重新启动 apache,从而影响所有其他用户。

关于php - 构建一个 'multi-site' 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1863630/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com