当前位置:  开发笔记 > 编程语言 > 正文

错误111连接到localhost:6379.拒绝连接.Django Heroku

如何解决《错误111连接到localhost:6379.拒绝连接.DjangoHeroku》经验,为你挑选了2个好方法。

我可以在本地运行redis,一切正常.

但是,当我部署到heroku时,我收到此错误:

Error 111 connecting to localhost:6379. Connection refused. 

我用...设置了一个Procfile

web: gunicorn odb.wsgi --log-file -
worker: python worker.py

我有一个worker.py文件......

import os
import urlparse
from redis import Redis
from rq import Worker, Queue, Connection

listen = ['high', 'default', 'low']

redis_url = os.getenv('REDISTOGO_URL')
if not redis_url:
    raise RuntimeError('Set up Redis To Go first.')

urlparse.uses_netloc.append('redis')
url = urlparse.urlparse(redis_url)
conn = Redis(host=url.hostname, port=url.port, db=0, password=url.password)

if __name__ == '__main__':
with Connection(conn):
    worker = Worker(map(Queue, listen))
    worker.work()

一个REDISTOGO_URL变量出现在heroku配置中.

Redis to go是我的应用程序的已安装插件.

REDISTOGO_URL是否必须在settings.py中定义?为什么heroku在worker.py中甚至没有定义时尝试连接到本地主机?



1> shrishinde..:

可能与您的问题没有直接关系,但我遇到了同样的错误,结果发现在我的系统上没有安装redis-server软件包.

问题解决了 sudo apt-get install redis-server



2> Deft-pawN..:

解决方案是sudo apt-get install redis-server.不要忘记启动服务sudo service redis-server start ,您可以使用该命令sudo service redis-server {start|stop|restart|force-reload|status}进行参考

推荐阅读
手机用户2402852387
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有