亚马逊AWS版本控制

时间:2014-07-01 07:31:51

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

我现在在Amazon Ec2实例上管理一个网站已经有一段时间了。 由于我是唯一的开发人员而且它用于沙箱,我只有一个实例运行LAMP图像,我会使用FTP上传本地开发的东西(沙箱模式)。

由于我获得了观众,我想向前迈出一步,建立一个开发环境,这样我就可以管理更多的开发人员,并拥有版本控制备份和轻松部署新开发代码给用户。

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

正在研究弹性豆茎,但是当使用多个实例时似乎是有效的,我承认,我对它的工作原理并不了解。

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

1 个答案:

答案 0 :(得分:0)

我的假设在这里:

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

您的Apache Web服务器配置为处理VirtualHost mysite.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站点实例配置为使用除生产服务器之外的其他数据库。确保测试安装不被未经授权的用户和搜索引擎访问也是一件好事。使用mod_access指令的.htpasswd锁或基于IP地址的限制。