如何访问Amazon EC2实例上的Django管理站点?

时间:2013-10-19 22:51:02

标签: python django web amazon-ec2 ubuntu-12.04

因此,对于一个学校项目,我必须按照Django网站上“编写你的第一个Django应用程序”教程中的步骤进行操作,但是我们应该在运行Ubuntu 12.04的EC2实例上使用它。

在教程中,它说:

Now, open a Web browser and go to “/admin/” on your local domain – e.g., http://127.0.0.1:8000/admin/. You should see the admin’s login screen:

这必须意味着我必须在我的计算机上访问EC2的本地域,对吧?我应该怎么做呢?

我已经尝试过(在x中我的正确地址)“ec2-xx-xxx-xx-xx.us-west-2.compute.amazonaws.com/home/admin/”,“ec2-xx- xxx-xx-xx.us-west-2.compute.amazonaws.com/admin/“,甚至使用我正在使用的用户目录”ec2-xx-xxx-xx-xx.us-west-2.compute .amazonaws.com /用户/管理员/".

我把项目放在用户的文件夹中,所以它在/ home / user / my_django_project /

我之前通过将PHP和HTML项目放在/ home / user / public_html /文件夹中成功访问和使用了EC2,但我不知道该怎么做。

2 个答案:

答案 0 :(得分:2)

  1. 在Django应用程序文件夹中运行以下命令:

    python manage.py runserver 0.0.0.0:8000
    
  2. 向安全组添加规​​则以允许入站TCP通过端口8000.您可以使用自定义TCP规则指定仅允许端口8000。
  3. 打开浏览器并转到以下链接:

    http://<EC2_ADDRESS>.amazonaws.com:8000/admin/
    
  4. 现在应该加载管理页面,您应该能够在Amazon服务器上看到来自本地计算机的GET请求。例如[29/Mar/2015 03:35:24] "GET /admin HTTP"

答案 1 :(得分:1)

我猜你是通过manage.py runserver命令运行Django的?如果是这样,Django目前只收听127.0.0.1。使用

启动django
manage.py runserver 0.0.0.0

以便它监听所有IP。如果配置正确,您应该可以通过“ec2-xx-xxx-xx-xx.us-west-2.compute.amazonaws.com:8000/admin/".

访问它。