【发布时间】:2015-01-09 13:09:36
【问题描述】:
我在 Linux 机器上安装了 Rabbitmq 3.4,它在5672 端口上运行。
当我尝试声明交换时,它会提示我错误。
./rabbitmqadmin declare exchange --vhost=localhost name=SAMPLE_EXCHANGE type=direct
使用,用于 rabbitmqadmin 的 python 脚本,位于/usr/local/bin/
错误--
Traceback (most recent call last):
File "/usr/local/bin/rabbitmqadmin", line 953, in <module>
main()
File "/usr/local/bin/rabbitmqadmin", line 389, in main
method()
File "/usr/local/bin/rabbitmqadmin", line 569, in invoke_declare
self.put(uri, json.dumps(upload))
File "/usr/local/bin/rabbitmqadmin", line 415, in put
return self.http("PUT", "/api%s" % path, body)
File "/usr/local/bin/rabbitmqadmin", line 441, in http
resp = conn.getresponse()
File "/usr/lib64/python2.6/httplib.py", line 990, in getresponse
response.begin()
File "/usr/lib64/python2.6/httplib.py", line 391, in begin
version, status, reason = self._read_status()
File "/usr/lib64/python2.6/httplib.py", line 349, in _read_status
line = self.fp.readline()
File "/usr/lib64/python2.6/socket.py", line 433, in readline
data = recv(1)
socket.error: [Errno 104] Connection reset by peer
帮我解决这个错误,如果需要会提供更多信息。
【问题讨论】:
-
您的机器上有虚拟主机
localhost吗?通常 RabbitMQ 上的默认 vhost 称为/ -
嗨,感谢您的回复。它不存在,我添加了以下命令
rabbitmqctl add_vhost test,但同样的错误仍然存在! -
关于您使用虚拟主机
localhost而不是test的问题的命令:--vhost=localhost;为什么不使用默认虚拟主机? -
我只将 localhost 创建为 vhost,例如我将其写为测试。我也尝试了默认主机(没有提及主机)
rabbitmqadmin declare exchange name=SAMPLE_EXCHANGE type=direct但仍然没有运气,同样的错误! -
我只是一个类似的问题,并通过查看 /var/log/rabbitmq 中的 rabbitmq 日志(对于 *nix,显然是 :P)成功地找出了问题的根源。不要忘记,在尝试运行命令时,您始终可以使用 tail -f 查看日志文件。
标签: linux command-line rabbitmq amqp rabbitmqadmin