我是 AWS 新手,正在使用免费套餐测试个人 Django 项目。但是,当我尝试访问 IP 地址时,浏览器出现超时错误。该站点在本地运行,通过无线或有线连接访问时显示超时错误。
我设置网站的方式是使用 Bitnami DjangoStack,服务器通过./manage.py runserver 0.0.0.0:8080
我还将可用的 IP 地址绑定到现有的公共 DNS 名称来运行。TCP 端口 80 作为 HTTP 开放,源为 0.0.0.0/0。
我执行netstat -aon
并得到了输出
tcp 0 0 10.4.89.232:22 141.114.79.244:38928 ESTABLISHED keepalive (3582.28/0/0)
tcp 0 272 10.4.89.232:22 141.114.79.244:40393 ESTABLISHED on (0.21/0/0)
这两个地址是来自我的站点访问请求,我使用的IP地址和端口是80、8080,但是还是会出现超时的情况。
源代码和数据库是通过
- 克隆带有站点源代码的 git 存储库
- 将 mysql 转储导入数据库
- 已修改
settings.py
以反映新的数据库凭证 runserver
在服务器 shell 中执行命令
服务器日志中没有显示任何错误。 nmap
产生
nmap -P0 -p80 54.2**.***.*
Starting Nmap 5.21 ( http://nmap.org ) at 2013-08-27 10:32 EDT
Nmap scan report for ec2-54-2**-***-*.compute-1.amazonaws.com (54.2**.***.*)
Host is up.
PORT STATE SERVICE
80/tcp filtered http
Nmap done: 1 IP address (1 host up) scanned in 2.08 seconds
答案1
您说您正在使用 AWS...在这种情况下,安全组是“陷阱”。配置安全组以允许您想要的端口,它应该可以工作。
答案2
根据 Bitnami Django 堆栈文档这里,如果您使用其控制脚本启动服务器ctl.sh
,则应用程序将在端口 8080 上运行。如果使用runserver
,则应用程序默认在端口 8000 上运行。
访问该应用程序的最简单方法是打开端口 8080(或 8000,如果你已经使用过runserver
)安全组并以以下方式访问应用程序http://ec2-54-2**-***-*.compute-1.amazonaws.com:8080
其他方法包括更改 Apache 配置以在端口 80 上运行,或者运行 HAProxy 或 Nginx 将请求反向代理到此服务器。