【问题标题】:Clone development environment on an office server to use locally在办公服务器上克隆开发环境以在本地使用
【发布时间】:2016-04-03 03:57:25
【问题描述】:

情况: 作为开发人员,我想“克隆”我们的开发环境(在办公室服务器上),以便我们可以在本地使用它(例如,当没有/有限的互联网访问可用时)。我们决定试试 Vagrant。

我做了什么? 首先,我使用PuPHPet 创建了一个基本配置,包括 nginx、php(包括模块)、composer、git、memcached 等。你可以找到我的配置 here。我还为我们的website.dev 添加了一个 nginx 虚拟主机。这是我遇到的第一个问题。

我们对位置块使用了一些额外的配置设置。 rewritefastcgi_passinclude。这不可用,所以我在网上搜索了很多,我发现我可以使用以下语句(更多的是尝试/失败/重试)。

location_cfg_append:
  { rewrite: ".* /dispatch.php break", include: "fastcgi-params.conf", fastcgi_pass: "127.0.0.1:9000" }

第一个问题: 这确实有效,但是这是这样做的方法吗?我不确定我是否应该直接编辑这个配置文件(PuPHPet 生成的文件)。

第二个问题: 我应该如何“上传”我想要包含的fastcgi-params.conf 文件?我在config.yaml 中没有找到执行此操作的方法,但有一种方法可以运行一些脚本。现在我已经添加了一个可以工作的echo [contents] > /etc/nginx/fastcgi-params.conf。不过……

第三个问题: 配置 VM 时,会创建 nginx 配置。完成后,nginx 将重新启动。然而,此时fastcgi-params.conf 文件还不存在(这是在配置之后创建的)。

当 nginx 重新加载时,这将失败,触发错误并且机器无法完成配置序列(因此它永远不会创建配置文件)。

我可以在下次启动时创建这个文件(然后 nginx 会工作),但这不是正确的方法。那么:我如何(在 nginx“安装”之前)创建/部署文件到虚拟机?或更通用(问题 2):如何将文件上传到 VM?

如果这完全不可行,请告诉我!这是我们创建本地开发机器的第一步,因此欢迎使用其他/更好的方法。

【问题讨论】:

    标签: vagrant puppet puphpet


    【解决方案1】:

    第一个问题:这确实有效,但是这是这样做的方法吗?我不确定我是否应该直接编辑这个配置文件(PuPHPet 生成的文件)。

    是的,我鼓励这样做。

    第二个问题:我应该如何“上传”我想要包含的 fastcgi-params.conf 文件?

    将它放在您的一个共享文件夹中。它将在 VM 中可用,您可以通过这种方式引用它。

    第三个问题

    以上答案解决了这个问题。

    【讨论】:

      猜你喜欢
      • 2023-01-26
      • 2018-07-02
      • 1970-01-01
      • 2019-05-05
      • 1970-01-01
      • 2018-03-26
      • 2022-07-11
      • 2018-08-19
      • 2015-07-25
      相关资源
      最近更新 更多