我按照指示 here使用内置的网络服务器运行 Django,并且能够使用 python manage.py runserver
成功运行它。如果我从网络服务器本地访问 127.0.0.1:port,我会得到 Django 页面,表明它工作正常。
我意识到 Django 网络服务器不是生产服务器,但对于我来说,能够从外部世界访问它很重要——即不是从服务器上的网络浏览器,而是从另一台计算机。
我试过了:
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 上的每个接口(interface)。
无论您使用 IP 还是主机名访问网络服务器都没有关系。我猜你还在你自己的局域网里。
如果您真的想从外部访问服务器,您还必须将路由器配置为转发端口,例如8000
到您的服务器。
检查服务器上的防火墙是否允许到正在使用的端口的传入连接!
假设你可以从外部成功访问你的Apache服务器,你也可以试试这个:
- 停止 Apache 服务器,使端口
80
空闲。 - 使用
sudo python manage.py runserver 0.0.0.0:80
启动开发服务器
关于python - 如何从外部访问本地 Django 网络服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2260727/