一尘不染

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

django

我按照此处的说明使用内置Web服务器运行Django,并能够使用成功运行它python manage.py runserver。如果我从Web服务器本地访问127.0.0.1:port,则将显示Django页面,表明它可以正常工作。

我意识到Django网络服务器不是生产服务器,但是对于我来说,测试的重要之处在于能够从外界访问它-即,不是从服务器上的Web浏览器而是从另一台计算机访问它。

我试过了:

http://mywebserver:port_django_runs_on

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

http://myipaddress:port_django_runs_on 

这也不起作用。

Web服务器正在运行,因此必须从外部可以访问它,但我不确定如何。我没有在Apache上配置Django,但是我在Apache上运行Linux。

有关如何执行此操作的任何想法?


阅读 1239

收藏
2020-03-31

共1个答案

一尘不染

你必须运行开发服务器,以使其侦听网络接口。

例如

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
2020-03-31