Vagrant - 许多站点中的全局设置+域别名

时间:2013-12-19 14:50:09

标签: vagrant

来自MAMP Pro背景,我喜欢拥有“基础”文件夹(在这种情况下为/Sites)的能力,让我的所有项目都在其下面,并用它设置自定义服务器名称/别名。使用Vagrant,看起来我可以使用vagrant-hostsupdater完成名称/别名部分,但如果我真的只想在/Sites中拥有Vagrant文​​件,然后所有这些文件都使用相同的配置,那么什么是使用这些自定义主机名指定子文件夹磁盘位置的最佳方法是什么?

我很可能过度思考这个问题,刚刚成为GUI界面的傻瓜,并且很想知道如何实现这一目标。一如既往地谢谢!

澄清

我习惯的

我以前使用MAMP Pro,它允许您使用GUI界面设置自定义主机添加。因此,在我的~/Sites目录中,我有几个不同的项目,都在子文件夹中。下面的屏幕截图显示了如何设置服务器名称并指定磁盘位置,所有这些都来自此中心位置。

MAMP Pro

我想和Vagrant一​​起做什么

现在我知道(并使用vagrant-hostsupdater),但我想知道的是我是否可以在我的~/Sites目录中设置我的Vagrant文​​件(这有点像服务器的根目录;因为我的所有项目都需要相同的设置),然后为每个项目设置单独的主机名 - 所以不必访问像local.dev/project-1local.dev/project-2 I could setup server names such as local.project-1.com这样的子文件夹{来自该顶级Vagrant文​​件的{1}} local.project-2.com`并指定它应附加该重写规则的子文件夹。

我之所以这样做是因为我只需运行一个and,然后我可以从一个Vagrant实例访问我的所有项目,并且只跟踪一个Vagrant文​​件。谢谢!

1 个答案:

答案 0 :(得分:1)

您需要告诉vagrant您想要使用哪些主机名。

基于目录的主机名

假设你设置了你想根据目录名设置你的主机名;你可以使用ruby获取所有主机名并将它们传递给hostsupdater配置。

SITES_DIR = "~/Sites"
config.hostsupdater.aliases = Dir["#{SITES_DIR}/*/"].map { |d| d.chomp('/') }

基于配置的主机名

或者,您可以模拟某些您需要的配置以及您要尝试执行的操作,并在Vagrantfile内的ruby中评估/处理它。