Pycharm 远程启动 Django 项目不能访问

本文描述了在PyCharm中远程启动Django项目时遇到的访问问题及其解决过程。通过检查防火墙、端口监听以及修改Configuration的Host设置,最终解决了不能通过浏览器访问的问题。结论是,将Django配置中的Host改为0.0.0.0才能允许外部访问。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

操作步骤

今天用 Pycharm 远程创建一个 Django 项目。在这里插入图片描述
创建成功后 Pycharm 会自动为其生成 Configuration ,因此我没有自己去配置。点击运行按钮,测试 Django 能否正常启动。
在这里插入图片描述

结果是,项目正常启动(Pycharm 没有报错),但打开浏览器访问 http://192.168.20.133:8000 ,不能得到正常页面
在这里插入图片描述

问题排查

首先,由于我的 Pycharm 能够正常连接远程 Python 解释器,说明本机与远程机通信正常。

继而我想,是不是 Pycharm 启动远程 Django 项目出了问题。所以我做了以下步骤:

  1. 检查防火墙是否开启:firewall-cmd --state(centos7 环境)。返回 running,防火墙果然开着,为快速定位问题,我选择直接把防火墙关掉:systemctl stop firewalld.service。但是仍不能正常访问页面。
  2. 检查 8000 端口是否被监听。如果 Django 正常启动,那么远程机上的 8000 端口一定是被监听着的。命令:netstat -nlp|grep 8000在这里插入图片描述结果发现 8000 端口被 Python 的进程监听着,那么说明没啥问题。所以决定直接在远程机上访问 url:http://192.168.20.133:8000/。
  3. linux 终端访问 url 可用 curl,即:curl http://127.0.0.1:8000
    在这里插入图片描述
    返回内容显示,Django 的确跑起来了,而且是正常的跑起来了。只不过本机访问不了。
  4. 我突然灵机一动,想到“在远程机上,用远程机的 IP 访问页面可以吗?”在这里插入图片描述
    结果是:不行。于是我抱着试一试的心态,把 Django 自动生成的 Configuration 修改了,增加了 Host 的内容,为 0.0.0.0,如下图这样。在这里插入图片描述
  5. 选择 apply,点击 ok。通过浏览器访问页面正常,远程机上 curl http:192.168.20.133 访问正常。

结论

虽然不知道这之间原理,但基本可以得出一个结论: 127.0.0.1 ! = 0.0.0.0 127.0.0.1 != 0.0.0.0 127.0.0.1!=0.0.0.0。严格地说,应该是在某种情况下不完全相等。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值