我是EC2和web开发的新手。目前,我已经运行了一个Linux EC2实例,并且已经安装了Django。在开始我的实际项目并尝试运行Django测试服务器之前,我正在创建一个测试项目。
这是我在shell中的输出:
python manage.py runserver ec2-###-##-##-##.compute-1.amazonaws.com:8000
Validating models...
0 errors found
Django version 1.3, using settings 'testsite.settings'
Development server is running at http://ec2-###-##-##-##.compute-1.amazonaws.com:8000/
Quit the server with CONTROL-C.
为了测试它是否正常工作,我尝试访问:ec2-###-##-##-##.compute-1.amazonaws.com:8000
,但我总是从浏览器收到“无法连接”的消息。
但是,每当我在我的计算机上执行此操作时,我都会成功地访问到DJango开发主页127.0.0.1:8000。有人能帮我找出当我在我的EC2实例上而不是我自己的笔记本电脑上执行此操作时,我做错了什么/可能丢失了什么吗?
发布于 2012-03-26 09:40:48
您可能没有在防火墙上打开端口8000。检查您的实例正在运行的安全组(可能是"default"),并检查它正在运行的规则。您可能会发现未列出端口8000。
发布于 2012-10-13 00:33:54
使用一个带有Ubuntu的ec-2实例,我发现指定0.0.0.0:8000是有效的:
$python manage.py runserver 0.0.0.0:8000
当然,需要在您的安全组设置中为TCP打开8000。
发布于 2016-04-01 06:48:51
我也有同样的问题。但我是在EC2上运行RHEL的。除了将规则添加到安全组之外,我还必须手动将端口添加到firewalld。
firewall-cmd --permanent --add-port=8000/tcp
firewall-cmd --reload
这对我很有效!(虽然我不知道为什么我必须这么做)
https://stackoverflow.com/questions/9865621
复制相似问题