我现在在Amazon Ec2实例上管理一个网站已经有一段时间了。 由于我是唯一的开发人员而且它用于沙箱,我只有一个实例运行LAMP图像,我会使用FTP上传本地开发的东西(沙箱模式)。
由于我获得了观众,我想向前迈出一步,建立一个开发环境,这样我就可以管理更多的开发人员,并拥有版本控制备份和轻松部署新开发代码给用户。
如何在同一个实例上管理不同的环境?我不喜欢开发环境和生产环境,最好是易于管理。它同时适用于sql数据库中的代码和数据。如何在不共享我的密钥的情况下让其他用户获得访问权限?
正在研究弹性豆茎,但是当使用多个实例时似乎是有效的,我承认,我对它的工作原理并不了解。
我想我在问 - 在亚马逊AWS服务上开发Web应用程序的正确方法是什么
答案 0 :(得分:0)
我的假设在这里:
您的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地址的限制。