【问题标题】:Amazon AWS version control亚马逊 AWS 版本控制
【发布时间】:2014-07-01 07:31:51
【问题描述】:

我现在正在 Amazon Ec2 实例上管理一个网站一段时间。 由于我是唯一的开发人员并且它用于沙箱,因此我只有一个运行 LAMP 图像的实例,我会使用 FTP 上传本地开发的内容进行审查(沙箱模式)。

由于我的受众越来越多,我想在设置开发环境方面迈出这一步,这样我既可以管理更多从事该项目的开发人员,又可以进行版本控制以进行备份,并轻松地将新开发的代码部署到用户。

如何在同一个实例上管理不同的环境?我想要一个开发环境和生产环境,最好是易于管理。它适用于 sql 数据库中的代码和数据。如何在不共享我的密钥集的情况下让其他用户获得访问权限?

正在研究弹性豆茎,但在使用多个实例时它似乎很有效,我承认,我不太了解它是如何工作的。

我想我在问 - 在亚马逊 AWS 服务上开发 Web 应用程序的正确方法是什么

【问题讨论】:

  • 我建议您查看CloudFormation。您可以创建生产和开发堆栈。

标签: php sql amazon-web-services amazon-ec2


【解决方案1】:

我的假设:

  • 您正在运行 Apache
  • 您已经配置了您的域,以便 mysite.com 和 test.mysite.com 有 A 记录 指向您的 IP 地址 EC2 实例。

您的 Apache Web 服务器配置为处理 VirtualHostmysite.com,例如在 /etc/apache2/sites-available/default 中,或类似于 documentation on Drupal.com:

<VirtualHost *:80>
        ServerName drupalsite.com
        DocumentRoot /var/www/mysite-production/
        <Directory /var/www/mysite-production/>
                Options +FollowSymLinks Indexes
                AllowOverride All
                order allow,deny
                allow from all
        </Directory>
</VirtualHost>

现在,您需要创建第二个仅映射到子域的 VirtualHost:

<VirtualHost *:80>
        ServerName test.drupalsite.com
        DocumentRoot /var/www/mysite-test/
        <Directory /var/www/mysite-test/>
                Options +FollowSymLinks Indexes
                AllowOverride All
                order allow,deny
                allow from all
        </Directory>
</VirtualHost>

将其保存在您的 Apache 配置文件中并运行 /etc/init.d/apache2 reload - 现在对 test.mysite.com 的任何请求都将指向另一个目录。

确保您应该将您的 TEST 站点实例配置为使用生产服务器以外的另一个数据库。保护测试安装免受未经授权的用户和搜索引擎的访问也是很好的。 .htpasswd 锁定或使用 mod_access 指令基于 IP 地址的限制。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-12-02
    • 1970-01-01
    • 1970-01-01
    • 2014-04-20
    • 2015-01-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多