1

我是 Vagrant 的新手,我正在尝试 PuPHPet 以启动和运行。我可以启动并运行一个 debian 盒子并通过 ssh 进入它。这更像是我不清楚的工作流程。

目前我正在将 PuPHPet 配置下载到一个名为的文件夹中,然后vagrant我可以cd/进入并运行它。我感到困惑的是,我在放置文件的位置上做错了。vagrant upvagrant ssh

您是否将每个项目的设置文件直接下载到项目目录中?或者我是否将它下载到一个目录中,例如C:/sites/vagrant,然后这个目录运行我的环境,配置文件指向项目文件夹,例如C:/sites/project_one.

在我看来,PuPHPeT 会根据我通过 GUI 选择的内容在 debian 上设置它,然后将其用于所有项目。但我真的很困惑!

4

1 回答 1

3

简答


我建议您将 PuPHPet 文件、生成的 Vagrantfile 及其环境保存在与您的站点(源)文件目录分开的目录中,因为这对我来说似乎更有条理和安全。为每个项目设置一个新的虚拟机非常好,但我更喜欢设置一个 Vagrant 盒子并让它同时为我的所有项目提供服务,所以我不会像我一样经常上下放置盒子在项目之间切换。


解释


为此,请在 PuPHPet.com 上配置您的“共享文件夹对” ,以将您的文件夹源/source/code/path/name源文件在主计算机上的位置)映射到文件夹目标/destination/path/name在 Vagrant 生成的虚拟机上,您的 Vagrant 生成Web 服务器可以为您的每个项目(屏幕截图)找到它们。配置 Web 服务器(使用 PuPHPet 的Web 服务器配置页面)以引用此类/destination/path/name目录,它将这些工作文件映射到可用的服务器名称、服务器别名和文档根目录。

作为警告,不要将/var/www文件夹直接用作文件夹目标。在某些配置中,这将导致 Apache在使用 Vagrant 进行配置时安装失败。

config.yamlPuPHPet 创建的文件中,您将看到如下条目:

synced_folder:
    vflsf_12randomlettersandnumbers:
        source: /Users/unrivaled/www-development-source-files
        target: /var/www/dev

在您将配置环境的 PuPHPet.com 上,有一个部分可以配置您的“共享文件夹对”。 这是您告诉 Vagrant您的文件现在在哪里(在您的主计算机上)以及您希望它们出现在 Vagrant 生成的虚拟化环境中的位置。

这里要掌握的一个重要概念是我对“是”和“出现”这两个词的使用。

您的文件“在”您的计算机上——您可能正在使用它来编辑和调试您的项目,并且您希望从中运行 PuPHPet 来托管 Vagrant 生成的 Web 服务器。这是您的“主机”操作系统,您的开发文件(源代码)将始终简单地驻留在此处。你永远不需要在你的主计算机和 Vagrant 生成的 Web 服务器之间来回复制它们。

相比之下,您的文件“出现”在运行时创建的 Vagrant 生成的 Web 服务器上vagrant up,它在运行 Web 服务器、数据库引擎等的 Vagrant 生成的虚拟化环境中生成一个“来宾”操作系统。请注意,您不是在那里复制文件(到“来宾”操作系统上)。相反,Vagrant 会根据您对前面提到的“共享文件夹对”的使用,让它们出现在那里:

文件夹源代表您的源文件所在的主计算机(“主机”操作系统)上的位置。

文件夹目标代表您的虚拟计算机(“客户”操作系统)上的位置,您希望 Vagrant 使它们在客户操作系统中可见。

这样,您只需在开发环境中编辑您的文件,无论它们现在在哪里;Vagrant 将确保您的 Vagrant 生成的 Web 服务器即时、实时地看到这些文件。即使您在vagrant destroy这个生成的 Web 服务器环境中,您的源文件也将完全保持原样。 只需重新创建一个新环境 ( vagrant up),然后 bam!你去吧。回到工作。

于 2015-07-21T19:25:25.063 回答