【问题标题】:Setting up Django on Elastic Beanstalk with Postgres使用 Postgres 在 Elastic Beanstalk 上设置 Django
【发布时间】:2014-12-12 03:45:33
【问题描述】:

我应该如何在 EC2 Elastic Beanstalk 上为 Django 设置我的 settings.py 文件以使用 Postgres RDS?

These docs 只为 MySQL 提供 settings.py

【问题讨论】:

    标签: amazon-ec2 amazon-rds django-settings amazon-elastic-beanstalk


    【解决方案1】:

    您可能只需要更改数据库对象中的引擎设置。您需要将 psycopg2 安装到您的环境中。这是我的样子。只需填写您的数据库信息。

    DATABASES = {
        'default': {
            'ENGINE': 'django.db.backends.postgresql_psycopg2', # Add 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'oracle'.
            'NAME': '',        # Or path to database file if using sqlite3.
            'USER': '',        # Not used with sqlite3.
            'PASSWORD': '',      # Not used with sqlite3.
            'HOST': '',                 # Set to empty string for localhost. Not used with sqlite3.
            'PORT': '',                 # Set to empty string for default. Not used with sqlite3.
        }
    }
    

    【讨论】:

    • 我不太确定我是否遵循 NAME、HOST 等的值。我认为它们不应该为空,而应该看起来像 MySQL 的设置?:'HOST': os.environ['RDS_HOSTNAME']
    • 这是一个不错的开始:ashokfernandez.wordpress.com/2014/03/11/…
    【解决方案2】:

    使用 psycopg2,并使用环境变量(在 Elastic Beanstalk 中为您提供):

    DATABASES = {
        'default': {
            'ENGINE': 'django.db.backends.postgresql_psycopg2',
            'NAME': os.environ['RDS_DB_NAME'],
            'USER': os.environ['RDS_USERNAME'],
            'PASSWORD': os.environ['RDS_PASSWORD'],
            'HOST': os.environ['RDS_HOSTNAME'],
            'PORT': os.environ['RDS_PORT'],
        }
    }
    

    您需要在 pip requirements.txt 文件中包含 psycopg2(使用 pip freeze > requirements.txt 创建),并且可能还需要通过在 .ebextensions/package.config 文件中包含以下内容来安装 Postgres 依赖项 postgresql-devel(文件名不必是packages.config,这正是我使用的):

    packages:
      yum:
        postgresql-devel: []
    

    【讨论】:

    • 我收到“yum 不包含 postgresql-devel”的错误!!
    • 我也有这个问题。我认为 2014-09 Linux 版本存在问题。选择 2014-03,它应该可以工作。
    • 在 2014 年 9 月尝试 postgresql92-devel 或 postgresql93-devel
    猜你喜欢
    • 2017-08-02
    • 2014-12-19
    • 1970-01-01
    • 1970-01-01
    • 2012-10-17
    • 2015-08-22
    • 2016-03-11
    • 2012-06-30
    相关资源
    最近更新 更多