Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vue.js/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vagrant-多个站点之间的全局设置+;域别名_Vagrant - Fatal编程技术网

Vagrant-多个站点之间的全局设置+;域别名

Vagrant-多个站点之间的全局设置+;域别名,vagrant,Vagrant,来自MAMP Pro的背景,我喜欢拥有一个“基本”文件夹(在本例中为/Sites),将我的所有项目放在它下面,并使用它设置自定义服务器名称/别名。使用Vagrant,我似乎可以完成名称/别名部分,但如果我真的只想在/Sites中使用Vagrant文件,然后所有文件都使用相同的配置,那么使用这些自定义主机名指定子文件夹磁盘位置的最佳方法是什么 我很可能是想得太多了,我只是一个GUI界面的吸盘,我很想知道如何实现这一点。一如既往地谢谢你 澄清 我习惯了什么 我曾经使用MAMP Pro,它允许您使用G

来自MAMP Pro的背景,我喜欢拥有一个“基本”文件夹(在本例中为
/Sites
),将我的所有项目放在它下面,并使用它设置自定义服务器名称/别名。使用Vagrant,我似乎可以完成名称/别名部分,但如果我真的只想在
/Sites
中使用Vagrant文件,然后所有文件都使用相同的配置,那么使用这些自定义主机名指定子文件夹磁盘位置的最佳方法是什么

我很可能是想得太多了,我只是一个GUI界面的吸盘,我很想知道如何实现这一点。一如既往地谢谢你

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

我想对流浪汉做什么 现在我知道了(并使用了),但我想知道的是,我是否可以在我的
~/Sites
目录中设置我的Vagrant文件(这有点像服务器的根目录;因为我所有的项目都需要相同的设置)然后为每个项目设置单独的主机名-因此,不必访问像
local.dev/project-1
local.dev/project-2这样的子文件夹,我可以从顶级Vagrant文件中设置服务器名,例如
local.project-1.com
local.project-2.com`并指定它应该使用的子文件夹附加重写规则


我想这样做的原因是,我只需要运行一个
vagrant up
,然后我就可以从一个vagrant实例访问我的所有项目,并且只跟踪一个vagrant文件。谢谢

你需要告诉流浪汉你想用什么主机名

基于目录的主机名 假设您设置了主机名,您希望根据目录名设置主机名;您可以使用ruby获取所有主机名,并将它们传递给hostsupdater配置

SITES_DIR = "~/Sites"
config.hostsupdater.aliases = Dir["#{SITES_DIR}/*/"].map { |d| d.chomp('/') }
基于配置的主机名
或者,您可以模拟某种您想要的配置,以及您正在尝试做的事情,并在
Vagrantfile

中用ruby对其进行评估/处理
Vagrantfile
被解释为ruby,您几乎可以做您喜欢的事情。询问
最佳方式
是相当客观的,无法真正得到回答。你能提供更多关于你想要达到的目标的细节吗?嘿,史蒂夫-同意,谢谢你的建议。我更新了我原来的问题,澄清了一点。谢谢流浪汉使用不同的盒子。你需要一个供应者来做这件事,你需要编码。使用木偶或厨师作为开始。如果您需要关于如何设置的进一步指导,请将其作为另一个问题打开。提示搜索傀儡资源调配。所以使用one
vagrant up
是否要查找多节点up,或者你是在寻找一个作为Web服务器的盒子吗?我在~/Sites目录下寻找一个盒子谢谢-我想另一部分也会修改Apache Sites available/000-default.conf文件,对吗?有没有一种方法也可以将这些相同的站点传递给一个bash脚本来编写它?再次感谢。如果所有域都使用相同的目录,修改默认vhost将是有益的。您可能希望为设置的每个目录/主机名生成特定的vhost。一旦您找到了资源调配的方法,这项任务就不会太困难了。我使用chef,解释了不同的提供者。理想情况下,您应该在
erb
模板中有一个通用vhost,让ruby填充每个主机的变量。使用shell provisioner实现这一点要困难一些,所以我建议使用一个支持模板的provisioner。除非您正在处理特定于服务器的内容,否则您可能会找到一本
食谱
清单
、或
剧本
,它们已经满足了您的需要。我非常感谢您提供的相关信息,因此我对您的答案投了赞成票。到目前为止,我还没有任何运气。我知道Vagrant通常是针对每个项目设置的,但我真诚地想做的是在我的本地机器上消除对MAMP、Ruby、NodeJS等的需求,并将其全部包含在这个目录中。是否有用于在线创建这些食谱的GUI界面?如果是这样的话,我只是在想我的“特定”案例,即安装一个更全球化的流浪者可能会让我面临另一个障碍。如果你选择厨师路线
将是创建烹饪书的标准命令行工具。你可以在网站上找到一些社区食谱