如何访问windows的linux子系统的nginx?

在windows10下开启了它的子系统ubuntu,然后安装了nginx,
ifconfig显示ip:192.168.1.104,
然后我在windows下浏览器访问这个 192.168.1.104127.0.0.1都访问不了。
请问什么原因?

阅读 17.3k
10 个回答

你先看下你windows能和你的虚拟机的linux系统ping不ping的通。
然后就是你虚拟机网络配置的问题了,有三种网络模式,好像选择桥接模式

不知你是怎么配的, 我的127.0.0.1正常访问

新手上路,请多包涵

IP地址对的话,那你要看一下是不是在一个网域里,子网掩码,和网关是否一致。还有你访问IP的前提,是你的nginx配置知否OK。查一下进程是否运行,配置界面是否配置OK。

首先确定你的ubuntu可以访问吗
如果可以,然后确认nginx可以访问吗
如果是前者,那就是路由方式的问题
如果是后者,可能是nginx配置问题

新手上路,请多包涵

你先看下你windows能和你的虚拟机的linux系统ping不ping的通。
然后就是你虚拟机网络配置的问题了,有三种网络模式,好像选择桥接模式

我也遇到了相同问题,以下是解决办法(这篇博文看到的

发现nginx、ssh之类的,能正常启动不报错但怎么也无法绑定端口。后来查了github上的 issues 发现是wegame(原tgp)的锅,原因是使用了一个win10上已失效的特性,wegame的开发表示会尽快修复。临时解决办法:删除文件 %systemroot%system32driversQMTgpNetflow764.sys 后重启bash,如无法删除先关闭应用或卸载再重装wegame(最好重启电脑),重装后先删除 QMTgpNetflow764.sys 再运行wegame。

我是卸载WeGame后进入安全模式删除的QMTgpNetflow764.sys文件。

应该和nginx没有关系,linux子系统和windows之间的通信可能有问题,试一下在linux子系统下localhost启动一个web服务,看看能否在windows的浏览器下通过localhost可以访问

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题