天天看点

解决外网无法远程连接centos上的django服务

最近在接触python的框架 django,真的踩了很多坑。

刚开始是在公司电脑(Ubuntu)上配置django服务,一切岁月静好,没啥子大问题,但是公司电脑是台式的,无法携带,想在宿舍里学习一下还必须在自己的电脑上重新配置环境。

我的电脑是windows,安装各种出错,又换pip版本,又手动下载django文件,结果还是失败,百度了很多,得出的结果是,windows貌似不支持django,非要安装,可能很麻烦,付出一些代价。

还好,我自己买了一个linux服务器,安装、启动都没什么问题,因为是纯命令行界面,所以没办法在浏览器验证,但是通过 links (命令行界面可以通过links 来连接网页,但是只能得到一些简单文本显示)是正常的

yum insatll links
links http://localhost:8000
           

然后我在windows的浏览器中访问 x.x.x.x:8000/index,却显示 拒绝连接,T0T

开始排查问题

1.ping ip ,成功ping通

2.服务器的8000 的端口已经开启

3.服务器防火墙关闭了

各种病急乱投医,把服务器的各种相关服务开关无数次

最后还是在再万能的网友那里得到了答案:

python manage.py runserver //启动命令
Django version 1.6.11.7, using settings 'myProject.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CONTROL-C
           

这个只是127.0.0.1在中运行的,就是说这个服务只能使用127.0.0.1访问。。。

最终方法如下:

1.修改 setting.py 中 ALLOWED_HOSTS = [‘*’]
2.python manage.py runserver 0.0.0.0:8000 //允許所有主机访问
           

感觉有点不太能理解,可能还是惯性思维吧,因为我们平时启动的一些 tomcat,nginx服务,启动时,好像通常都是 localhost:xxxx 形式的,但从来没遇到说,只能通过localhost主机连接的。

解决方法很简单,但是我为什么要写这么长,主要是想记录以下我的心历路程,解决步骤的一些步骤。这次碰见这种情况,也算是打破了自己的惯性思维,下次再遇到,就不会这么难受了。