让RabbitMQ和Django-Celery运行的问题:目标机器主动拒绝连接

时间:2011-07-26 17:45:48

标签: django firewall rabbitmq celery

我想让Django-Celery在我的Django App上运行。我无法让工作服务器运行。当我尝试时,我收到消息:无法建立连接,因为目标计算机主动拒绝它

这是我到目前为止所做的。首先,我安装了django芹菜包:http://pypi.python.org/pypi/django-celery

我可以毫无问题地将它加载到python中。我还根据Windows安装说明安装了RabbitMQ服务器:http://www.rabbitmq.com/install.html#windows

在RabbitMQ网站上的pytho中启动教程我看到需要安装pika:http://pypi.python.org/pypi/pika。它进口没有任何问题。

从那里我通过在命令行运行它来启动RabbitMQ服务器:rabbitmq-service start

我收到了Service RabbitMQ started

的消息

这是我开始遇到问题的地方。

我尝试了django-celery的第一步:http://packages.python.org/django-celery/getting-started/first-steps-with-django.html和rabbitMQ网站上的“hello world”示例:http://www.rabbitmq.com/tutorials/tutorial-one-python.html

在这两种情况下,我收到消息:无法建立连接,因为目标计算机主动拒绝

我的第一个想法是,这听起来像防火墙问题。所以我进入了Windows 7防火墙并添加了入站和出站规则来打开本地和远程端口5672和5673到TCP协议,但我仍然收到相同的错误消息。

当我跑rabbitmqctl status时,我收到消息:
    错误:无法连接到节点'rabbit @ hostname':nodedown
    诊断:
     - 主机名上的节点及其端口:[{rabbitmqctl18856,505031}]

这是否意味着它试图在这些端口上运行?怎么样默认5672?

有什么建议吗?

更新:这实际上是由于几个与最新安装冲突的rabbitmq安装失败导致的问题。如果你必须删除rabbitmq使用'rabbitmq-service remove'命令而不是SC DELETE,这会给我带来很多问题,我不得不进入并清理我的Windows注册表文件。

1 个答案:

答案 0 :(得分:2)

rabbitmqctl指示的nodedown错误表明服务器未在该计算机上运行。

尝试浏览RabbitMQ的troubleshooting guide中的步骤。特别要密切关注日志。服务器因某种原因崩溃了吗?你可以在某处发布日志吗?