【问题标题】:Django running under python 2.7 on AWS Elastic BeanstalkDjango 在 AWS Elastic Beanstalk 上的 python 2.7 下运行
【发布时间】:2012-10-13 05:33:53
【问题描述】:

根据文档,AWS Elastic Beanstalk 支持 Python 2.6。我想知道是否有人使用 EBS 支持的 64 位 Linux AMI 设置了自定义 AMI,以便在 beanstalk 上的 Python 2.7 下运行 django?虽然在 2.7 下设置的大多数方面可能使用 virtualenv 或更改符号链接很简单,但我担心 mod_wsgi 的亚马逊版本。我了解根据 mod_wsgi 的编译方式,将它与 Python 2.7 结合运行可能会出现问题。我也想知道postgreSQL会不会有问题...

【问题讨论】:

    标签: django python-2.7 mod-wsgi amazon-elastic-beanstalk


    【解决方案1】:

    今天(2013 年 11 月 8 日),我检查了 AWS 支持 Python 2.7 AMI。尽管如此,文档仍然没有正确更新。请尝试使用 eb CLI 工具,然后您可以找到以下 AMI 选项。

    17) 32bit Amazon Linux 2013.09 running Python 2.7
    18) 64bit Amazon Linux 2013.09 running Python 2.7
    

    使用 Python 2.7 不再麻烦! :)

    【讨论】:

      【解决方案2】:

      这篇博文看起来很有趣:

      Getting a Python 2.7 project running on Elastic Beanstalk

      作者还提供了一个示例项目进行测试:

      https://github.com/leetreveil/elasticbeanstalk-python27

      【讨论】:

      • 这是迄今为止最正确的答案 - 按照这篇博文的说明,我设法仅使用标准配置选项在 ElasticBeansTalk 上部署了一个应用程序。没有自定义 AMI 或其他难以维护的解决方案
      • AWS 团队向我推荐了这个。
      【解决方案3】:

      最后我使用 Python 2.7 构建了 mod_wsgi。文档很容易理解:http://code.google.com/p/modwsgi/wiki/QuickInstallationGuide

      不过,最近我从 Amazon Linux AMI 切换到了官方的 ubuntu AMI:https://help.ubuntu.com/community/EC2StartersGuide

      将实例添加到负载均衡器并使用 ubuntu ami 连接到 RDS 非常容易,我认为没有必要坚持使用 Amazon Linux AMI 和 beanstalk,我发现它们相当有限制。

      【讨论】:

      • beantalk 的酷炫之处在于一键部署功能。运行git aws.push,您的新版本已在所有服务器上播出。在为此制定了我自己的解决方案之后,我们的盒子里有这样一个功能真是太棒了。
      • 使用 EB 有很多优点,正如 Zaar 上面提到的。到目前为止,Rockalite 的答案可能是 Python 2.7 和 EB 的最佳选择
      【解决方案4】:

      要绕过mod_wsgi 的限制,您可以在自己的 wsgi 容器(如 uWSGI)下部署您的应用程序,并向 apache 添加配置以充当您的 WSGI 容器的反向代理。

      您可以使用 container_commands 将您的 apache 配置文件放在 /etc/httpd/...

      【讨论】:

      • 谢谢,但正如我在回答中指出的那样,我发现整个 beanstalk 配置过程相当严格。
      猜你喜欢
      • 2016-11-25
      • 2012-09-30
      • 2019-03-14
      • 2014-12-26
      • 2014-08-03
      • 2018-12-27
      • 2016-11-28
      • 2014-04-16
      相关资源
      最近更新 更多