简体   繁体   English

如何指定Django测试服务器应该监听哪个eth接口?

[英]How to specify which eth interface Django test server should listen on?

As the title says, in a multiple ethernet interfaces with multiple IP environment, the default Django test server is not attached to the network that I can access from my PC. 正如标题所说,在具有多个IP环境的多个以太网接口中,默认的Django测试服务器没有连接到我可以从我的PC访问的网络。 Is there any way to specify the interface which Django test server should use? 有没有办法指定Django测试服务器应该使用的接口?

-- Added -- - 添加 -

The network configuration is here. 网络配置在这里。 I'm connecting to the machine via 143.248.xy address from my PC. 我通过我的电脑上的143.248.xy地址连接到机器。 (My PC is also in 143.248.ab network.) But I cannot find this address. (我的电脑也在143.248.ab网络。)但我找不到这个地址。 Normal apache works very well as well as other custom daemons running on other ports. 正常的apache以及在其他端口上运行的其他自定义守护进程非常有效。

The one who configured this machine is not me, so I don't know much details of the network... 配置这台机器的人不是我,所以我不太了解网络的细节......

eth0      Link encap:Ethernet  HWaddr 00:15:17:88:97:78
          inet addr:192.168.6.100  Bcast:192.168.2.255  Mask:255.255.255.0
          inet6 addr: fe80::215:17ff:fe88:9778/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:441917680 errors:0 dropped:0 overruns:0 frame:0
          TX packets:357190979 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:191664873035 (178.5 GB)  TX bytes:324846526526 (302.5 GB)

eth1      Link encap:Ethernet  HWaddr 00:15:17:88:97:79
          inet addr:172.10.1.100  Bcast:172.10.1.255  Mask:255.255.255.0
          inet6 addr: fe80::215:17ff:fe88:9779/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1113794891 errors:0 dropped:97 overruns:0 frame:0
          TX packets:699821135 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:843942929141 (785.9 GB)  TX bytes:838436421169 (780.8 GB)
          Base address:0x2000 Memory:b8800000-b8820000

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:1085510396 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1085510396 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:422100792153 (393.1 GB)  TX bytes:422100792153 (393.1 GB)

peth0     Link encap:Ethernet  HWaddr 00:15:17:88:97:78
          inet6 addr: fe80::215:17ff:fe88:9778/64 Scope:Link
          UP BROADCAST RUNNING PROMISC MULTICAST  MTU:1500  Metric:1
          RX packets:441918386 errors:0 dropped:742 overruns:0 frame:0
          TX packets:515286699 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:199626686230 (185.9 GB)  TX bytes:337365591758 (314.1 GB)
          Base address:0x2020 Memory:b8820000-b8840000

veth0     Link encap:Ethernet  HWaddr 00:00:00:00:00:00
          BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

veth1     Link encap:Ethernet  HWaddr 00:00:00:00:00:00
          BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

veth2     Link encap:Ethernet  HWaddr 00:00:00:00:00:00
          BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

veth3     Link encap:Ethernet  HWaddr 00:00:00:00:00:00
          BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

vif0.0    Link encap:Ethernet  HWaddr fe:ff:ff:ff:ff:ff
          BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

vif0.1    Link encap:Ethernet  HWaddr fe:ff:ff:ff:ff:ff
          BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

vif0.2    Link encap:Ethernet  HWaddr fe:ff:ff:ff:ff:ff
          BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

vif0.3    Link encap:Ethernet  HWaddr fe:ff:ff:ff:ff:ff
          BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

-- Added (2) -- - 增加(2) -

Finally I used w3m (a text-mode web browser which runs on terminal) to connect from localhost. 最后我使用w3m(在终端上运行的文本模式Web浏览器)从localhost连接。 :P :P

I think the OP is referring to having multiple interfaces configured on the test machine. 我认为OP指的是在测试机器上配置了多个接口。

You can specify the IP address that Django will bind to as follows: 您可以指定Django将绑定到的IP地址,如下所示:

# python manage.py runserver 0.0.0.0:8000

This would bind Django to all interfaces on port 8000. You can pass any active IP address in place of 0.0.0.0, so simply use the IP address of the interface you want to bind to. 这会将Django绑定到端口8000上的所有接口。您可以传递任何活动的IP地址来代替0.0.0.0,因此只需使用要绑定的接口的IP地址即可。

Hope this helps. 希望这可以帮助。

是的,如果您的接口的IP是例如192.168.1.2并且您想要在端口8080上运行,请启动开发服务器,如下所示:

./manage.py runserver 192.168.1.2:8080

No. It's not how it works. 不,这不是它的工作原理。 The interface has an IP address, you have a network with the test server and your PC. 接口有一个IP地址,你有一个网络与测试服务器和你的PC。 You should connect to that IP (possibly with an alternative port that you specified), and that's all. 您应该连接到该IP(可能使用您指定的备用端口),这就是全部。 If you only have these two devices in the network, it is most likely that both of them should have static IP addresses. 如果您在网络中只有这两个设备,则它们很可能都具有静态IP地址。 (or, if there is not mutual network, you cannot connect to each other). (或者,如果没有相互网络,则无法相互连接)。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM