使用AWS部署Django

时间:2016-10-17 17:02:10

标签: python django git amazon-web-services ubuntu

所以我正在尝试部署我的 django 应用程序(主要使用REST Apis)但是当我使用Amazon CLI时,我最终得到了 Fedora实例< / strong>,而我希望使用 Ubuntu实例

所以我尝试这样做,我创建了一个ubuntu实例,创建了我的代码库,在ubuntu上安装了git并将代码从git克隆到了ubuntu。接下来,我安装了所有的requirements.txt依赖项,一切都在virtualenv并且工作正常。

但是这里是 catch python manage.py runserverlocalhost上运行它(并不奇怪)。所以问题是,如何为那些api服务(不是在localhost上)?

3 个答案:

答案 0 :(得分:3)

不要在生产中使用runserver命令。它仅适用于本地开发。

在制作时,您需要设置应用程序服务器(uwsgi / gunicorn),然后使用nginx作为反向代理。

数字海洋文章相当不错 - https://www.digitalocean.com/community/tutorials/how-to-set-up-django-with-postgres-nginx-and-gunicorn-on-ubuntu-14-04

(同样的东西也适用于AWS)

答案 1 :(得分:0)

正如其他答案所述,runserver命令仅适用于本地开发。实际上,您可以通过将其作为python manage.py runserver 0.0.0.0:8000运行来使其在外部接口上进行侦听,但这是一个坏主意。配置nginx + uwsgi来运行Django应用程序非常简单。有多个教程和指南可用于此。这是官方的uWSGI指南 http://uwsgi-docs.readthedocs.io/en/latest/tutorials/Django_and_nginx.html

答案 2 :(得分:0)

请勿在生产中使用django开发服务器。它不是为这种用途而构建的。

而是使用像弹性beanstalk这样的东西来帮助你部署开箱即用的可扩展django应用程序。这是一个很好的分步教程:https://www.trysudo.com/deploying-django-app-on-aws-using-elastic-beanstalk/