如何使redis BROKER_URLdynamic部署到AWS实例

我正在部署一个Django应用程序,它使用芹菜任务,并具有redis作为代理后端。 我使用docker进行部署,我的生产服务器是一个亚马逊aws实例。 我面临的问题是Django的设置是不同的本地主机:

BROKER_URL = 'redis://localhost:6379' CELERY_RESULT_BACKEND = 'redis://localhost:6379'

和我所有的unit testing工作。 docker工人失败,除非我改变它

BROKER_URL = 'redis://redis:6379' CELERY_RESULT_BACKEND = 'redis://redis:6379'

我的问题是,如何识别我的部署服务器中的redis broker url? 会是redis://redis:6379

PS:对于heroku服务器,有一个用于识别redis url调用REDISTOGO_URL的插件。 有没有类似的亚马逊aws服务器?

BROKER_URL ='redis:// localhost:6379'CELERY_RESULT_BACKEND ='redis:// localhost:6379'

以上意味着redis和celery都在本地主机上运行,​​django应用程序运行在同一台机器上。

请检查:

1)Redis安装在服务器上,正在运行。 (sudo服务redis-server启动)

2)芹菜安装在服务器上,正在运行。

BROKER_URL ='redis:// redis:6379'CELERY_RESULT_BACKEND ='redis:// redis:6379'

如果你使用的是docker,上面的意思是说有另一个docker容器正在运行redis,你的代码容器被链接到redis容器,别名为'redis'