我正在使用RabbitMQ处理我所在企业应用程序中的数据库之间的消息。作为这个过程的一部分,我试图帮助自动化服务器的设置(例如脚本)。在这个过程中,我尝试使用rabbitmqadmin
从命令提示符中声明交换机。我有两个不同的服务器运行CentOS 5.x
和CentOS 6.x
,并且两者都遇到了相同的问题。
到目前为止,我已经声明了一个管理员用户并设置了其密码,然后将其标记设置为管理员标记,接着我确保它具有访问虚拟主机的权限。之后,我尝试声明交换机,并指定用户名和密码,但是失败了。
rabbitmqctl add_user administrator password
rabbitmqctl set_user_tags administrator administrator
rabbitmqctl set_permissions -p / administrator ".*" ".*" ".*"
rabbitmqctl add_vhost vhostFoo
rabbitmqctl set_permissions -p vhostFoo administrator ".*" ".*" ".*"
rabbitmqadmin -u administrator -p password declare exchange --vhost=vhostFoo name=exchangeNew type=direct
对于CentOS 5.x,我必须使用python26 rabbitmqadmin
而不是rabbitmqadmin
,但获得相同的结果。
最后一个命令的结果为:
*** Access refused: /api/exchanges/vhostFoo/exchangeNew
我的CentOS 5.x和CentOS 6.x都在运行rabbitmq 3.3.5,你有什么想法或者知道如何获取更多的信息(比如错误日志文件或者获取更详细的输出)吗?