Python 从同一网络的另一台计算机访问Django devserver
我正在使用django的内置服务器开发一个站点,我希望我所在网络中的其他计算机能够使用本地IP地址访问服务器。 我看过很多关于这个的帖子,在尝试了所有的建议后,它仍然不允许我网络中的其他计算机访问该站点 我使用Python 从同一网络的另一台计算机访问Django devserver,python,linux,django,fedora,Python,Linux,Django,Fedora,我正在使用django的内置服务器开发一个站点,我希望我所在网络中的其他计算机能够使用本地IP地址访问服务器。 我看过很多关于这个的帖子,在尝试了所有的建议后,它仍然不允许我网络中的其他计算机访问该站点 我使用 python manage.py runserver 0.0.0.0:8000 并且已经打开了端口8000,如下图所示 我正在内核3.8.11-200上运行Django 1.4.2、Python 2.7.3和Fedora 18 非常感谢您的帮助。谢谢。使用python manage.
python manage.py runserver 0.0.0.0:8000
并且已经打开了端口8000
,如下图所示
我正在内核3.8.11-200上运行Django 1.4.2、Python 2.7.3和Fedora 18
非常感谢您的帮助。谢谢。使用
python manage.py运行服务器:
例如,我的IP是192.168.0.100,我想在端口80上运行django应用程序,我必须这样做
[sudo] python manage.py runserver 192.168.0.100:80
我的端口80需要根权限,可能是因为我有其他应用程序访问它
您还必须将IP地址添加到settings.py中的ALLOWED_HOSTS
列表中
通过这样做,192.168.0网络中的所有客户端都将能够访问192.168.0.100的站点,您可以根据需要启动Django-只要连接到它,它将接受来自任何地方的连接 检查防火墙,确保它允许8000端口连接。像这样的方法应该会奏效:
iptables -I INPUT -p tcp -m tcp --dport 8000 -j ACCEPT
或者,您需要扩展设置中的
内部\u IPS
变量以允许远程调试:。skarap是正确的。如果您的网络配置正确,并且您的django应用程序使用pytho9n manage.py运行服务器0.0.0.0:8000,并且您仍然无法从VM主机访问您的django应用程序,那么几乎可以肯定存在防火墙问题。如果您正在运行iptables,则上面的说明很好
我从Windows7主机在virtualbox虚拟机上部署了CentOS 7。我不知道这个发行版使用firewalld而不是iptables来控制访问
如果
ps-ae | grep防火墙
返回类似于
602 ? 00:00:00防火墙D
您的系统正在运行firewalld,而不是iptables。他们不是一起跑的
要更正VM,以便从主机访问django站点,请使用以下命令:
防火墙cmd--zone=public--add port=8000/tcp--permanent
防火墙cmd—重新加载
非常感谢pablo v在网站上指出这一点。感谢Rajeev。但这不起作用,因为我的本地Apache使用的是端口80,而端口8000是django开发人员使用最多的端口,因此我不想使用任何新的端口。此外,0.0.0.0:8000表示端口8000上的任何ip,因此为其指定一个特定的ip不会有太大区别。