首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何使用WSL (Windows Subsystem for Linux)访问Django服务器?

如何使用WSL (Windows Subsystem for Linux)访问Django服务器?
EN

Stack Overflow用户
提问于 2018-07-26 09:07:15
回答 2查看 4.4K关注 0票数 2

我在Windows10的Ubuntu上使用Bash,并在python虚拟环境中安装了django。我可以成功地启动django服务器,但是当我在windows10浏览器中输入"http://127.0.0.1:8000/“时,我没有得到响应。

我已尝试将端口号更改为其他值(例如,python3 manage.py运行服务器127.0.0.1:7171),我仍然什么也得不到。

我不认为这是防火墙问题,因为WSL和浏览器都在同一个Windows10笔记本上运行。您知道问题可能是什么吗?

代码语言:javascript
复制
(env) $ python3 manage.py runserver
Performing system checks...

System check identified no issues (0 silenced).
July 26, 2018 - 00:50:25
Django version 2.0.7, using settings 'portfolio.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CONTROL-C.

Windows版本: Windows 10 build 1709 (16299.492)

Ubuntu版本: Ubuntu 16.04.5 LTS

EN

回答 2

Stack Overflow用户

发布于 2018-07-26 09:18:23

不久前,当我自己这么做的时候,我发现没有办法将运行在WSL中的东西绑定到localhost。

然而,当我通过我的主机名连接时,我确实成功了。

因此,在主机名为GAMMAFLYER的情况下,执行以下操作:

代码语言:javascript
复制
python3 manage.py runserver 0.0.0.0:8000

这允许外部连接。

然后在您的浏览器中:

代码语言:javascript
复制
http://GAMMAFLYER:8000
票数 0
EN

Stack Overflow用户

发布于 2019-01-03 09:00:20

我也有同样的问题和答案,@Shadow对我来说很好,也就是说,在WSL上的python manage.py runserver 0.0.0.0:8000之后,我有能力从windows访问http://HOSTNAME:8000

但是,有一种方法可以让它正常工作,并通过禁用VirtualBox网络适配器来访问windows上的VirtualBox。

我发现我在windows上的主机名的IP地址是VirtualBox Host-Only Ethernet Adapter的IP

(windows cmd):

ping -4 HOSTNAME

代码语言:javascript
复制
Pinging HOSTNAME [192.168.56.1] with 32 bytes of data:
Reply from 192.168.56.1: bytes=32 time<1ms TTL=128
Reply from 192.168.56.1: bytes=32 time<1ms TTL=128

ipconfig -all

代码语言:javascript
复制
Ethernet adapter VirtualBox Host-Only Network:

   Connection-specific DNS Suffix  . :
   Description . . . . . . . . . . . : VirtualBox Host-Only Ethernet Adapter
   Physical Address. . . . . . . . . : ***
   DHCP Enabled. . . . . . . . . . . : No
   Autoconfiguration Enabled . . . . : Yes
   Link-local IPv6 Address . . . . . : fe80::7d75:46fe:41d8:1ee3%5(Preferred)
   IPv4 Address. . . . . . . . . . . : 192.168.56.1(Preferred)
   Subnet Mask . . . . . . . . . . . : 255.255.255.0
   Default Gateway . . . . . . . . . :
   DHCPv6 IAID . . . . . . . . . . . : ***
   DHCPv6 Client DUID. . . . . . . . : ***
   DNS Servers . . . . . . . . . . . : fec0:0:0:ffff::1%1
                                       fec0:0:0:ffff::2%1
                                       fec0:0:0:ffff::3%1
   NetBIOS over Tcpip. . . . . . . . : Enabled

在我从Control Panel\Network and Internet\Network Connections禁用了这个适配器,并在WSL shell上重新运行python manage.py runserver后,它工作得很好,并且我有能力从windows访问http://localhost:8000

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51529615

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档