如何从外部世界访问本地Django Web服务器

我按照这里的说明使用内置Web服务器运行Django,并能够使用python manage.py runserver成功运行它。如果我从Web服务器本地访问127.0.0.1:port,就会得到Django页面,表明它工作正常

我意识到Django web服务器不是生产服务器,但对于我来说,能够从外部世界访问它是非常重要的,也就是说,不是从服务器上的web浏览器,而是从不同的计算机

我试过:

http://mywebserver:port_django_runs_on

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

http://myipaddress:port_django_runs_on 

这也不管用

web服务器正在运行,因此它必须可以从外部访问,我只是不确定如何访问。我正在用Apache运行Linux,尽管我还没有用Apache配置Django

有什么办法吗

您必须运行开发服务器,使其在网络接口上侦听

例如

python manage.py运行服务器0.0.0.0:8000

侦听端口8000上的每个接口

使用IP还是主机名访问Web服务器并不重要。我猜你还在自己的局域网里。
如果您确实想从外部访问服务器,您还必须将路由器配置为将端口(例如,8000)转发到服务器


检查服务器上的防火墙是否允许连接到正在使用的端口

假设您可以从外部成功访问Apache服务器,也可以尝试以下操作:

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

发表评论