【问题标题】:Start Django development server on AWS EC2 Amazon Linux在 AWS EC2 Amazon Linux 上启动 Django 开发服务器
【发布时间】:2021-09-11 23:15:24
【问题描述】:

本教程here 展示了如何在 AWS EC2 上启动开发服务器:

ALLOWED_HOSTS=['EC2_DNS_NAME']

...

python manage.py runserver 0.0.0.0:8000
In a browser, navigate to public DNS of the instance, make sure to append port “8000” at the end and if everything was properly configured, it will show the index page of the application.
For example: www.ec2dnsname.com:8000

我的公共 IPv4 DNS 是这种形式:

ec2-xx-xxx-xx-xxx.region.compute.amazonaws.com

所以,在我的settings.py

ALLOWED_HOSTS=['ec2-xx-xxx-xx-xxx.region.compute.amazonaws.com']

并在 EC2 终端中运行:

python manage.py runserver 0.0.0.0:8000

但是,当我尝试到达这个地址时:

www.ec2-xx-xxx-xx-xxx.region.compute.amazonaws.com:8000

什么都没有显示 (The page took too long to respond)。

这是尝试在 AWS EC2 上运行开发服务器的完整且正确的方法吗?

@Iam_batman 响应后更新:以下是附加到我的 EC2 实例的安全组设置:

All TCP TCP 0 - 65535   0.0.0.0/0   –
All TCP TCP 0 - 65535   ::/0    –

Port Range 似乎涵盖了一切。我仍然无法从开发服务器访问索引页。

另外,我的 AWS 账户是工作场所账户,而不是个人账户。如果我按照下面的@iam_batman 设置,使用 HTTP 和 SSH 协议,我将分别拒绝访问端口 8022

更新:为了进一步测试,我运行 curl 命令如下:

curl http://ec2-xx-xxx-xx-xxx.region.compute.amazonaws.com:8000

我获得了标准 Django 索引页面(带有宇宙飞船的页面)的完整 HTML 代码。这意味着该网站已经在该地址可用。但是由于某种原因,它没有在浏览器上呈现?

【问题讨论】:

  • 对我来说似乎有效。您是否设置了 ec2 入站流量规则以允许 8000 端口?

标签: django amazon-web-services amazon-ec2


【解决方案1】:

有两件事你应该检查一下。

1.检查是否配置了安全组。

在 aws 仪表板中搜索“安全组”。找到右上角的'创建安全组'按钮,并创建一个具有入站和出站规则的安全组,允许您要与之通信的端口上的 http 流量。

这是我使用标准 80 端口进行 http 的示例。但是,您可以根据需要使用 8000。

现在,您只需将您创建的安全组分配给您的 ec2 实例。转到 EC2 仪表板并选择您的实例。然后操作 > 安全 > 更改安全组。选择您刚刚创建的安全组,一切顺利。

2。也许你需要一个应用服务器

我从未真正尝试过使用 django 开发服务器(runserver 命令)进行部署,因为它不适合生产。因为,部署基于 python 的框架,比如 django/flask/fast-api,你需要使用一个 appserver,比如:uwsgigunicorn 等等。所以,看看吧。你至少需要一个应用服务器。对于更多生产用例,您可能需要在应用服务器之上拥有一个实际的网络服务器,例如 nginx/apache。

这是我对您的问题的两个说明。

【讨论】:

  • 感谢您提供详细信息。我检查了安全组设置。它似乎涵盖了所有端口的入站规则。 (更新了我的问题)
  • 另外,我正在尝试首先在 EC2 上测试运行 Django 应用程序。我还没有进入生产部署阶段,我肯定会研究 Nginx 或 Apache2。
  • 好的,我发现我的 AWS 有一些 IP 限制。打算关闭这个线程。谢谢。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-06-18
  • 1970-01-01
  • 2020-05-29
  • 1970-01-01
  • 2016-02-14
  • 2013-05-08
  • 2021-10-12
相关资源
最近更新 更多