django项目部署到服务器后,runserver 127.0.0.1:8000 启动成功
WX20190828-142536.png
但是浏览器访问公网ip,显示无法连接被拒绝。
根据搜索引擎得到的资料,进行了如下配置
- setting.py中添加如下设置
ALLOWED_HOSTS = "*"
- 项目运行到0.0.0.0:8000而不是127.0.0.1:8000
python manager.py runserver 0.0.0.0:8000
本以为到此应该是没问题了的,结果一跑还是连接不上,很迷。
我买的是腾讯云的服务器,所以就去提了个工单,一会儿回复,猜测是系统防火墙规则限制,过滤了8000端口
WX20190828-145657@2x.png
于是去检查了下防火墙的状态,使用如下命令
firewall-cmd --zone=public --list-ports
结果显示FirewallD根本就没有运行
FirewallD is not running
于是只能再去看下iptables,试着进行了下如下的操作
iptables -F //清除预设表 (filter) 中的所有规则链中的规则
再跑一下,居然好了,端口果然就是被这个防火墙的预设表给过滤了。
大家新买的服务器一定要注意注意这些隐藏的设置,不然后面可能会遇到很多坑。
网友评论