我正在使用 EC2 Linux 实例来运行 drupal 7 站点。
我计划为生产站点(drupalsite.com)配备一台服务器。
如何设置 EC2 Linux 实例来托管具有两个不同 URL(dev.drupalsite.com 和 test.drupalsite.com)的测试和开发环境?
答案1
我将在这里做一些假设:
- 您正在运行 Apache
- 您已经配置了您的域,以便
drupalsite.com
和test.drupalsite.com
都有指向您的 EC2 实例的 IP 地址的 A 记录。
现在你可能已经配置了你的 Apache Web 服务器来处理虚拟主机 drupalsite.com
,例如/etc/apache2/sites-available/default
,或类似于Drupal.com 上的文档:
<VirtualHost *:80>
ServerName drupalsite.com
DocumentRoot /var/www/drupal-production/
<Directory /var/www/drupal-production/>
Options +FollowSymLinks Indexes
AllowOverride All
order allow,deny
allow from all
</Directory>
</VirtualHost>
现在,您需要创建第二个仅映射到子域的 VirtualHost:
<VirtualHost *:80>
ServerName test.drupalsite.com
DocumentRoot /var/www/drupal-test/
<Directory /var/www/drupal-test/>
Options +FollowSymLinks Indexes
AllowOverride All
order allow,deny
allow from all
</Directory>
</VirtualHost>
将其保存在您的 Apache 配置文件中并运行/etc/init.d/apache2 reload
- 现在任何请求都test.drupalsite.com
将指向其他目录。
当然,您应该将 Drupal 实例配置为使用生产服务器以外的其他数据库。保护测试安装免受未经授权的用户和搜索引擎的访问也是不错的选择。.htpasswd
锁想到了,或者基于 IP 地址的限制使用mod_access
指令。