两个网站使用一个数据库

两个网站使用一个数据库

我正在启动一个项目,需要两个不同的网站与一个数据库进行交互。它们有不同的域名和不同的源代码。

我的服务器提供商是 Hostgator 和 Linode。Hostgator 是共享主机,Linode 是虚拟服务器,我可以在其中安装几个版本的 Linux,包括 Ubuntu、Centus 等。

我的问题是如何在一个 cPanel 上设置数据库并允许其他 cPanel 连接到该数据库?

如果有人知道使用 Hostgator 解决此问题的方法,我将不胜感激,因为这似乎是一项更快且可能更省时的任务。

我也对 Linode 感到好奇,因为我暗自认为 Hostgator 无法做到这一点,但在这种情况下,我想知道:1 - 如何处理两个域和两个源代码?2 - 如何将两者连接到同一个数据库?

答案1

我建议不要通过互联网直接访问数据库,而是在拥有数据库的应用程序中设置一个 HTTP API,以便第二个应用程序从第一个应用程序中获取所需的信息。

避免通过互联网连接数据库;您将向数据库暴露身份验证端点,这可能会带来严重的安全漏洞(请参阅这里)、暴力攻击和数据拦截(需要 SSL 进行数据库连接,这很令人头疼)。

HTTP API 是一种更加可预测且更容易安全的方式来获取您需要的功能。

答案2

我进行了更多研究并发现,有几种方法可以通过 Hostgator 满足我的需求。

解决方案 1

作为经销商,我可以在一个 cPanel 上设置一个数据库,并允许其他 cPanel 连接到该数据库。即使它位于不同的服务器上,我也可以连接到它,但正如 @Shane Madden 所说,这样做不太安全。解决方案是使用相同类型的主机包来管理两个 cPanel,它们将位于服务器上,让您在两个网站上都以本地主机的身份连接到它。

http://support.hostgator.com/articles/hosting-guide/lets-get-started/reseller-hosting/can-a-reseller-set-up-a-database-on-one-cpanel-and-allow-the-other-cpanels-to-connect-to-that-database

解决方案 2

第二种解决方案是创建一个 cpanel 并将第二个域添加为附加域。它将拥有自己的文件目录,但两个网站都将作为 localhost 连接到服务器。

http://support.hostgator.com/articles/cpanel/how-do-i-create-and-remove-an-addon-domain

相关内容