WSL2 虚拟主机 IP 地址
Posted
技术标签:
【中文标题】WSL2 虚拟主机 IP 地址【英文标题】:WSL2 vhost IP address 【发布时间】: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。
如果有任何建议,我会很高兴并感激不尽。
【问题讨论】:
【参考方案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以上是关于WSL2 虚拟主机 IP 地址的主要内容,如果未能解决你的问题,请参考以下文章
WSL2 jupyter notebook 在windows主机打开
给windows宿主机和wsl2的ubuntu-20.04分配固定IP,使能相互ping通