我已开始将许多开发环境迁移到Vagrant。到目前为止,这对于几乎所有事情都非常有用,但我们的第一个Drupal迁移无法使用。它非常慢。我们的Wordpress、CakePHP和Node.js站点都表现得非常好甚至更好,但不包括Drupal。这个问题真是糟糕透了。
该盒子是一个由Veewee创建的Ubuntu 12.04 64位机器。它是我们所有基于Web的项目所使用的相同基础盒子,因此没有什么特别之处。在我的站点目录中,我有一个规范目录(
这是一个混合的Windows / OSX开发团队,并且在两个平台上都很慢。从我的
我的shell提供程序只做了几件事情:
该盒子是一个由Veewee创建的Ubuntu 12.04 64位机器。它是我们所有基于Web的项目所使用的相同基础盒子,因此没有什么特别之处。在我的站点目录中,我有一个规范目录(
sites/my-site/
),其中包含所有站点资源以及指向该规范目录的域名符号链接(sites/dev.mysite.com -> /vagrant/www/sites/my-site
),这显然是团队正在使用的某个模块所必需的。这是一个混合的Windows / OSX开发团队,并且在两个平台上都很慢。从我的
Vagrantfile
中唯一半非常规的代码片段如下:config.vm.forward_port 80, 8080
config.vm.share_folder( "v-root", "/vagrant", ".", :extra => 'dmode=777,fmode=777' )
# Allows symlinks to the host directory.
config.vm.customize ["setextradata", :id, "VBoxInternal2/SharedFoldersEnableSymlinksCreate/v-root", "1"]
Vagrant::Config.run do |config|
config.vm.provision :shell, :path => "provision.vm.sh"
end
我的shell提供程序只做了几件事情:
- 安装drush
- 创建了上述符号链接到规范站点目录
- 编写了一个Nginx服务器块
- 如有必要,创建了一个
settings.php
文件。
- 在与Web服务器相同的Vagrant VM上创建的新数据库(localhost)
- 在原始问题中使用的共享开发服务器上创建的新数据库(dev)
- 在EC2实例上创建的新数据库(tmp)
请记住,这是一次全新的(标准)安装。没有任何项目负担。