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

Python Apache Solr无法连接到Django Elastic Beanstalk服务器,python,django,solr,amazon-elastic-beanstalk,Python,Django,Solr,Amazon Elastic Beanstalk,我已经用Django设置了一个elastic beanstalk实例,并尝试使用ApacheSolr为应用程序中的产品编制索引。Solr按照作为后台进程运行,但服务器对所有请求返回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..

我已经用Django设置了一个elastic beanstalk实例,并尝试使用ApacheSolr为应用程序中的产品编制索引。Solr按照作为后台进程运行,但服务器对所有请求返回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设置如下:(from)

查看Solr上的代码:

我检查了AWS上的安全组设置,该组接受端口8983上的入站流量(来自该组)。另外,我将ssh连接到EC2实例中,solrjava进程正在后台运行。看看帖子,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的连接错误)?

您是否对服务器进行了ssh,并确保Solr在端口8983上响应?(telnet localhost 8983)telnet正在拒绝8983上的连接,但是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()
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',
        }
    }