在AWS上使用MongoDB部署Django应用程序

时间:2015-11-18 18:44:36

标签: django mongodb amazon-web-services

如何定义django应用程序的设置,以便使用在与django项目相同的实例上运行的mongodb服务器。我在django应用程序的设置中尝试使用127.0.0.1port 27017(我假设是mongodb服务器运行的默认端口)。然后我用aws实例的IP地址尝试了它,但没有运气。它总是给我这个错误:

ConnectionError: You have not defined a default connection

我的django项目有以下mongo设置。

MONGO_SETTINGS = {
    'DB_NAME' : 'spotmentor',
    'HOST' : '127.0.0.1',
    'PORT' : 27017,
    'USERNAME' : '',
    'PASSWORD' : ''
}

然后我使用mongoengine connect建立连接。

我正在将上述MONGO_SETTINGS导入为mongoset

from mongoengine import connect

connect(mongoset.get('DB_NAME'), host = mongoset.get('HOST'), port = mongoset.get('PORT'), username = mongoset.get('USERNAME'), password = mongoset.get('PASSWORD'))

我将HOST密钥的值更改为aws实例公共IP,但仍然得到了相同的ConnectionError

我也定义了:

DATABASES = {
    'default' : {
        'ENGINE': 'django.db.backends.dummy',
        }
    }

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

mongoengine不需要任何额外设置即可连接到mongodb。您提供的设置必须足够。

我建议你重新检查你的mongodb安装。

试试sudo apt-get remove mongodbsudo apt-get install mongodb

这可以解决您的问题。

此外,如果您不使用sql-databases,则无需定义虚拟数据库后端。