Apache Solr无法连接到Django Elastic Beanstalk服务器

时间:2015-12-15 19:50:48

标签: python django solr elastic-beanstalk

我已经使用Django设置了一个弹性beanstalk实例,并且我正在尝试使用Apache Solr来索引应用程序中的产品。 Solr作为后台进程按this question运行,但服务器为所有请求返回500错误。查看/ etc / httpd / error_log中的日志,出现错误:

Failed to query Solr using '*:*': Failed to connect to server at 'http://127.0.0.1:8983/solr/select/?facet.query=price...' 
('connection aborted.', error(111, 'Connection refused'))

在我的Django settings.py中,我有Solr的haystack设置如下:(来自here

HAYSTACK_CONNECTIONS = {
    'default': {
        'ENGINE': 'haystack.backends.solr_backend.SolrEngine',
        'URL': 'http://127.0.0.1:8983/solr',
        'INCLUDE_SPELLING': True,
    },
}

查看github上的Solr代码:

        try:
            raw_results = self.conn.search(query_string, **kwargs)
        except (IOError, SolrError), e:
            if not self.silently_fail:
                raise
            self.log.error("Failed to query Solr using '%s': %s", query_string, e)
        raw_results = EmptyResults()

我检查了AWS上的安全组设置,该组接受端口8983上的入站流量(来自该组内)。此外,我进入EC2实例,Solr java进程在后台运行。查看this帖子,似乎Haystack默认为本地数据库设置,而不是AWS Elastic Beanstalk设置。

if 'RDS_DB_NAME' in os.environ:
    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'],
        }
    }
else:
    DATABASES = {
        'default': {
            'ENGINE': 'django.db.backends.postgresql_psycopg2',
            'NAME': 'hhwc',
            'HOST': 'localhost',
            'PORT': '5432',
        }
    }

什么可能导致此500服务器错误(与Solr的连接错误)?

0 个答案:

没有答案