繁体   English   中英

如何访问在Amazon ec2上运行的django应用程序?

[英]How do I access my django app running on Amazon ec2?

所以,我已经查看了堆栈溢出+其他网站,但还没有能够解决这个问题:因此发布此问题!

我最近开始学习django ......现在我正试着在ec2上运行它。

我有这种格式的ec2实例:ec2-xx-xxx-xx-xxx.us-west-2.compute.amazonaws.com我运行了django应用程序。 我更改了此实例的安全组以允许http端口80连接。

我尝试通过以下方式运行django app:python manage.py runserver 0.0.0.0:8000和python manage.py runserver ec2-xx-xxx-xx-xxx.us-west-2.compute.amazonaws.com :8000,似乎也没有帮助!

为了确保django方面没有任何问题,我打开了另一个终端窗口,然后进入实例并对localhost:8000 / admin进行了curl GET请求,该请求已成功完成。

我哪里错了? 将不胜感激任何帮助!

您正在端口8000上运行应用程序,当该端口未在实例上打开时(您只打开了端口80)。

因此,要么从安全组关闭端口80和打开端口8000,要么在端口80上运行您的应用程序。

在小于1024的端口上运行任何应用程序都需要root权限; 因此,如果您尝试以普通用户身份执行python manage.py runserver 0.0.0.0:80 ,则会收到错误消息。

而不是做sudo python manage.py runserver 0.0.0.0:80 ,你有几个选择:

  1. 为django运行预配置的AMI映像(如bitnami中的这个 )。

  2. 配置前端服务器以侦听端口80,然后将请求代理到django应用程序。 这里的常见堆栈是nginx + gunicorn + supervisor, 这篇博客文章解释了如何设置它(以及一个总是习惯进入的虚拟环境)。

确保在Django project / app / settings.py脚本的ALLOWED_HOSTS部分中包含您的IPv4公共IP地址...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM