【问题标题】:WSL2 vhost IP addressWSL2 虚拟主机 IP 地址
【发布时间】:2021-10-26 14:26:53
【问题描述】:

我已经使用 Ubuntu 20.04 设置了 WSL2,并将其用于 Web 开发。 在 WSL2 上,我安装了 LAMP 堆栈。

我在 WSL2 中使用 apache 设置了一些虚拟主机。到目前为止,它工作正常。但我觉得烦人的是,我必须每天在 Windows 主机文件中设置我为 WSL 获取的新 IP。

我曾尝试在 Ubuntu 中设置静态 IP,但我不太确定它是否正确以及是否有效。我在/etc/netplan 文件夹中创建了一个带有IP 的文件。主要是我关注this advice。 我已经设置了 IP 地址,但是当我执行 sudo netplan apply 时出现错误。

我也尝试过this approach 并编写了一个 PowerShell 脚本。但我不知道这应该如何设置IP。

如果有任何建议,我会很高兴并感激不尽。

【问题讨论】:

    标签: lamp wsl-2


    【解决方案1】:

    真的需要您的用例的 IP 地址吗?

    WSL2 有一个名为 localhostForwarding 的功能,默认情况下应启用该功能。这应该允许您在 Windows 中使用 localhost 直接访问在 WSL2 实例中运行的服务。

    在 WSL 中没有运行任何其他内容的情况下,从 shell 尝试以下操作:

    python3 -m http.server 8088
    

    看看你是否可以通过 Windows 浏览器访问它localhost:8088

    如果这不起作用,那么您可能遇到了 WSL 错误,其中 localhostForwarding 在休眠时中断,或者在 Windows 中启用快速启动时(这是默认设置)。如果是这种情况,请尝试在 PowerShell 中运行以下命令:

    wsl --shutdown
    

    然后重新启动并重试。

    然后在您的C:\Windows\System32\drivers\etc\hosts 中,将您的虚拟主机名设置为127.0.0.1::1

    【讨论】:

    • 非常感谢。那已经解决了。我只需要在 windows /etc/hosts 文件中添加 '::1'。
    • @GunnarPolte 谢谢 - 好点 aoubt ::1。我会将其编辑为答案。很高兴听到它让您朝着正确的方向前进。
    • 如果 localhost 转发由于某种原因停止工作,请参阅我为解决方案编写的这篇文章:abdus.dev/posts/fixing-wsl2-localhost-access-issue
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-10-18
    • 2016-03-24
    • 2012-11-06
    • 1970-01-01
    • 2012-07-28
    • 2018-07-25
    • 1970-01-01
    相关资源
    最近更新 更多