【问题标题】:PHP App Cloud Architecture with Code & DB Duplication具有代码和数据库复制的 PHP 应用程序云架构
【发布时间】:2013-11-12 09:40:28
【问题描述】:

我希望在云中设置我的 PHP 应用程序,以便为每个新客户部署一个新的应用程序副本(包含源代码和 mysql 数据库)。

如何在亚马逊云中最好地实现这一点?可以使用亚马逊的 git update 来完成吗?我需要最大限度地自动化,这样如果有新版本,应该传播到所有客户端副本。 MySQL 更新不是问题,因为每当更新应用程序源代码时,它都会自行运行更新的数据库。

如何在这种情况下自动化源代码集和更新?

谢谢

【问题讨论】:

    标签: php amazon-ec2 cloud


    【解决方案1】:

    我做了完全相同的事情,但使用的是我自己的专用服务器而不是公共云。 我最终在我的 SVN 服务器中使用了一个“发布”分支作为主代码存储库。

    每 5 分钟检查一次挂起安装表的 cron 脚本。如果它在那里找到东西,它会为新用户创建一个新文件夹,提取最新的 SVN,为数据库导入一个主 .sql 文件并创建一个 db 用户。将应用程序的配置文件写入创建的文件夹,写入新的绑定条目并重新启动绑定。并将文件夹名、数据库名写入文本文件。

    还有第二个脚本,它每晚运行并将最新的 SVN 拉入存储在文本文件中的文件夹名称中,并从 evn 拉出并运行 updatedb.sql 以针对文本文件中的 dbname 运行。虽然它不是万无一失的,并且已经进行了很多修补以使其稳定。我敢说那里的配置管理系统可以完全按照您/我的要求开箱即用,但我很享受编写自己的挑战。

    【讨论】:

    • 这是一个新的有趣的方向..你能告诉我你提到的配置管理系统吗?另外..是否可以使用 amazon elastic beans 或 windows azure 设置这些任务,以便创建的每个新实例都映射到一个 git 存储库。每当该存储库更新时,这些系统就会自动提取代码。
    • 你应该看看他们的 API,但我决定不使用基于云的东西,因为它的成本对我的应用程序来说太高了,因为我有自己的专用服务器,这对我来说更容易只需映射文件夹并相应地编辑绑定/apache配置并重新启动服务。 ansibleworks.comstackoverflow.com/questions/2180460/…buildmeister.com/articles/…engineyard.com/products/cloud可以帮助你
    猜你喜欢
    • 2011-07-12
    • 1970-01-01
    • 2012-05-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-11
    • 1970-01-01
    • 1970-01-01
    • 2015-12-02
    相关资源
    最近更新 更多