从外界访问本地django网络服务器

问题:

我按照here的指示使用内置的网络服务器运行Django,并且可以使用python manage.py runserver成功运行Django。如果我从网络服务器本地访问127.0.0.1:port,我得到Django页面,表明它有效。
我意识到Django网络服务器不是一个生产服务器,但是对于我来说,测试目的很重要,可以从外部世界访问它,也就是说不是来自服务器上的Web浏览器,而是来自不同的计算机。
我试过了:

http://mywebserver:port_django_runs_on

但它没有工作。我也尝试使用IP(基于ifconfig)来访问:

http://myipaddress:port_django_runs_on 

这也不行。
网络服务器正在运行,所以它必须可以从外部访问,我只是不知道如何。我正在使用Apache运行Linux,尽管我尚未使用Apache配置Django。
任何想法如何做到这一点?

回答:

您必须运行开发服务器,使其listens on the interface到您的网络。
例如。

python manage.py runserver 0.0.0.0:8000

侦听端口8000上的一切接口。
您是否使用IP或主机名访问Web服务器无关紧要。我想你还在你自己的局域网。
如果您真的想从外部访问服务器,则还必须将路由器配置为转发端口。 8000到您的服务器。
检查您的服务器上的防火墙是否允许与正在使用的端口的传入连接!
假设您可以从外部成功访问Apache服务器,还可以尝试:

  • 停止Apache服务器,使端口80是免费的。
  • 使用sudo python manage.py runserver 0.0.0.0:80启动开发服务器

 
 
Code问答: http://codewenda.com/topics/python/
Stackoverflow: Accessing local django webserver from outside world

*转载请注明本文链接以及stackoverflow的英文链接

发表评论

电子邮件地址不会被公开。 必填项已用*标注

− 5 = 3