以下一段话摘自【Django】runserver 0.0.0.0:0 后,究竟发生了什么
runserver 0.0.0.0:8000
runserver 0.0.0.0:8000表示将django进程使用的socket绑定ip设置为INADDR_ANY(0),因此socket会在8000端口监听从本机所有网卡发来的数据,相当于绑定了本机的所有ip地址。
比如你的机器有三个ip
192.168.1.1
202.202.202.202
61.1.2.3
使用runserver 0.0.0.0:8000启动的django进程可以通过服务器的所有ip访问到,而使用runserver 192.168.1.1:8000,只有通过192.168.1.1:8000才能够访问
如果本机有唯一的ip地址192.168.1.1,那么runserver 0.0.0.0:8000 就等同于 runserver 192.168.1.1:8000
runserver 127.0.0.1
表示将socket绑定到本机回环地址,只能监听本机对此服务的请求
runserver 0.0.0.0:0
如果不为socket指定绑定任何端口,或者将绑定的端口设置为0时,系统会在本机可选的端口中为socket随机绑定一个