gpt4 book ai didi

django - 本地 Django 网站不会在浏览器中加载

转载 作者:太空宇宙 更新时间:2023-11-03 17:15:07 25 4
gpt4 key购买 nike

我猜有一个非常简单的解决方案,但我搜索了每个论坛和设置指南,但无法弄清楚:

我在我的本地 服务器上构建了一个 Django/CentOS-6.3 环境(使用 VirtualBox 和 Vagrant)。当我在 vagrant 终端中使用“python manage.py runserver [::]:8000”启动我的服务器时,它启动时没有错误。

Validating models...

0 errors found
May 31, 2013 - 13:56:15
Django version 1.5.1, using settings 'mysitename.settings'
Development server is running at http://[::]:8000/
Quit the server with CONTROL-C.

但是,当我尝试在浏览器中导航到“http://127.0.0.1:8001”时(我在 Vagrantfile 中设置了从端口 8000 到端口 8001 的端口转发),浏览器只挂起 5 分钟直到超时,然后返回消息:

> The connection was reset 
> The connection to the server was reset while the page was loading.
> ...

这与我在关闭本地服务器后从浏览器收到的消息完全相同。我的计算机显然将此识别为转发端口,因为我尝试的任何其他端口(例如 8000)都会立即返回一个错误,指出它无法与 127.0.0.1:8000 的服务器建立连接。

关于服务器文件,我过去用 Django/Ubuntu 做过很多类似的设置,从来没有遇到过任何问题,但一定是 Django/CentOS 有什么不同导致这种情况发生(或者我可能在我的一个服务器文件中有人犯了错误)。我也遵循了在 CentOS 上设置 Django 和 PostgreSQL 的指南,但无济于事。我将在下面评论我创​​建/编辑的一些文件。

如果有人有解决方案,或者对从哪里开始查找错误有建议,我将非常感激。

最佳答案

如果您的网络配置正确并且您的 django 应用程序带有

python manage.py runserver 0.0.0.0:8000

而且您仍然无法从 VM 主机访问您的 django 应用程序,这几乎可以肯定是防火墙问题。如果您正在运行 iptables,上面的解决方案很好。

我在 Windows 7 主机的 virtualbox VM 上部署了 CentOS 7。我不知道这个发行版使用 firewalld,而不是 iptables 来控制访问。

如果

ps -ae | grep firewall

返回类似的东西

602 ? 00:00:00 firewalld

您的系统正在运行 firewalld,而不是 iptables。它们不会一起运行。

要更正您的 VM,以便您可以从主机访问您的 django 站点,请使用以下命令:

firewall-cmd --zone=public --add-port=8000/tcp --permanent

firewall-cmd --reload

非常感谢 pablo v 在“在虚拟机上访问 django 服务器”一文中指出了这一点。

关于django - 本地 Django 网站不会在浏览器中加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16865279/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com