【问题标题】:Creating a virtualbox with nginx, but the files are on the Host Windows使用 nginx 创建一个虚拟机,但文件在主机 Windows 上
【发布时间】:2013-02-14 05:37:20
【问题描述】:

这是我想要实现的目标:

  • 我想在 Windows(我的所有工具都在其中)上进行开发并在 Linux(在其中软件效果最好)上进行测试。
  • 我不想每次进行更改时都推送到第三台服务器并拉入来宾操作系统。
  • 因此,在理想情况下,我只需从 Windows 中更改文件,该更改也可以在来宾的 /mnt 中使用,因为我共享了文件夹,并且浏览器应该在重新加载时显示更改。

我想做什么:

  • 我已经在 Windows 7 主机上安装了 Debian 作为客户操作系统。
  • 然后我从 Windows 共享了一个文件夹,并将其安装在 /mnt 上。
  • 我在我的 Windows 7 /etc/hosts 文件中添加了一个条目,以允许我从自定义 myproj.dev 域名访问 192.168.56.101。
  • 我设置了第二个仅主机适配器以提供对 192.168.56.101 的访问权限
  • 然后我在来宾操作系统中配置了 nginx,现在我正在尝试创建一个以 /mnt 上的共享文件夹为根的 VirtualHost。
  • 我以 root 身份运行 nginx,因为 /mnt 及其内容仅由 root 拥有(和分组),我认为无法使用 chgrp 更改它,因为它是一个共享文件夹。

我导航到服务器时得到的输出是:

~óv·ÿ~óv·~óv·ÿ~óv·~óv·ÿ~óv·~óv·ÿ~óv·~ov·ÿ~óv·~óv·ÿ~óv·~ov·ÿ~ov·~ óv·ÿ~óv·~óv·ÿ~óv·~óv·ÿ'•¶~óv·A¶Ï\jµ¶~ov·Àp´¶Ïå•¶~ov·@A¶ÿvç¶~óv·€ B¶Ï$–¶~óv·€A¶Ï?^¤¶~óv·@f¢¶ÿa–¶~óv·ÀA¶ÏuĶ~óv·ÀĶϢ–¶~ov·B¶Ï„ ¢5¶~ov·@T4¶Ïì–¶~ov·@B¶Ï."]¶."]¶À#\¶À#\¶ÿL¶L¶€a¶€a¶ÿ‹¶~ov ·a¶Ï~óv·~óv·ÿ~óv·~óv·ÿ~óv·~ov·ÿÈ`:¶~ov·À¼9¶ïÏB2¶~ov· 1¶ÿ@~¶¶~ov·€¨ ´¶ÿí%£¶í%£¶0¢¶0¢¶ÿÐ7¶~óv·ÀB¶Ï8¶~óv·C¶ÿ:8¶~óv·@C¶ÿ~8¶~óv·€C¶ Ï"C&¶~óv·@O%¶ÏÉ8¶~óv·ÀC¶ÿ9¶~óv·D¶ÿE9¶~óv·@D¶Ï“P‰¶~ov·@‰¶Ïß9¶~ov·€ D¶Ï8:¶~óv·ÀD¶ÿ':¶~óv·E¶

/mnt 包含一个Laravel 安装,它是简单的英语,而不是其他语言。

我正在尝试做的事情可能吗?我是否错过了某个关键步骤?

【问题讨论】:

    标签: windows-7 nginx debian virtualbox


    【解决方案1】:

    在 nginx 配置文件的顶部有一个“用户”配置。

    当我将其设置为“root”时,一切正常 -

    user root;

    如果您不想授予所有访问权限,可以将其设置为“www-data”(如果您有该用户)。

    user www-data;

    但要使其正常工作,您必须将“www-data”用户添加到“vboxsf”组 -

    usermod -a -G vboxsf www-data

    【讨论】:

      【解决方案2】:

      我猜问题是......不能在 NTFS 驱动器上设置八进制权限。

      正如我在 G+ 上所写...

      只需桥接网络接口和 FTP/SFTP 即可。

      您可以下载 VMware,创建容器并使用 VMplayer,以防您不想花钱购买它(它会自动桥接虚拟 NIC,无需手动桥接)。

      曾经写过如何为 web 开发设置 proFTPd:

      http://www.codefx.biz/2012/01/proftpd-making-apache-owner-uploaded-files-directories

      我只使用 hgfs 导出 Excel 2007 文件 - 打开/保存文件我使用 FTPrush(提示:您可能希望添加 * 作为文件类型以使用文本编辑器打开,否则它可能无法打开某些文件类型为预计。

      很难判断该输出来自何处 - 是否尝试过禁用 nGinx?

      最佳做法是启用完整的 PHP 错误输出并调查日志文件。 似乎是来自 nGinx 的一些混乱;只见过一次与 Memcached 类似的东西。 日志文件应该提供洞察力......很可能尚未进行相应配置。

      【讨论】:

        【解决方案3】:

        这可能不太理想,但 WinSCP 具有两个主机之间的自动同步功能。

        我过去使用 apache 设置了类似的 vm 设置,没有问题。我没有足够的经验来帮助 nginx。

        【讨论】:

        • 自动同步可能是开发时最不想要的(无法控制正在发生的事情)。 SFTP 最容易设置 - 但权限可能会阻止 apache2 执行文件。使用 FTP 进行 Web 开发是很常见的——无论它是本地还是远程机器(因为可以在上传时设置正确的所有权)。使用 SFTP 时,需要一个时不时运行的 cronjob ......它会梳理一次 webroot 并使 www-data:www-data 成为所有内容的所有者。
        • 好吧 - 它甚至可以与 SFTP 一起使用,当与组 www-data 的任何用户连接时...结合在 webroot 上设置的适当组权限(需要定位在 ExtFS 上 - 不在 NTFS 上)。
        猜你喜欢
        • 1970-01-01
        • 2015-09-16
        • 2011-01-11
        • 2013-01-11
        • 2014-11-12
        • 1970-01-01
        • 2019-07-08
        • 2016-06-10
        • 2014-08-23
        相关资源
        最近更新 更多