Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 从同一网络的另一台计算机访问Django devserver_Python_Linux_Django_Fedora - Fatal编程技术网

Python 从同一网络的另一台计算机访问Django devserver

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.

我正在使用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.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不会有太大区别。