我在VPS Debian Linux机器上安装了最新版本的RabbitMQ.试图通过访客/访客登录,但返回登录失败的消息.我做了一点研究,发现出于安全原因,禁止远程访客/访客登录.
我也尝试通过rabbitmq.config手动创建文件来远程登录此版本的访客用户(因为安装没有创建一个)并仅放置以下条目
[{rabbit, [{loopback_users, []}]}].
Run Code Online (Sandbox Code Playgroud)
使用以下命令重启rabbitmq后.
invoke-rc.d rabbitmq-server stop -- to stop
invoke-rc.d rabbitmq-server start -- to start
Run Code Online (Sandbox Code Playgroud)
它仍然没有与访客/客人登录.我也尝试在Windows VPS上安装RabbitMQ并尝试通过localhost通过guest/guest登录,但我再次收到相同的消息登录失败.
还为我提供了一个源代码,我可以尝试安装旧版本的RabbitMQ,它支持通过访客/来宾远程登录.
我有一个nodejs客户端,它使用bramqp连接到RabbitMQ服务器.我的客户端可以连接到localhost中的Rabbit MQ服务器并且运行良好.但它无法连接到其他计算机上的远程RabbitMQ服务器.我在远程服务器上打开了端口5672,所以我认为问题在于RabbitMQ服务器的配置.我怎么解决这个问题?
据我所知,像RabbitMQ这样的消息代理可以帮助用不同语言/平台编写的不同应用程序相互通信.因为芹菜可以使用RabbitMQ作为消息代理,我相信我们可以将任务从任何应用程序排队到Celery,即使生产者不是用Python编写的.
现在我试图找出如何通过RabbitMQ从C#编写的应用程序将任务排队到Celery.但我还没有找到任何这样的例子.
我发现的唯一信息就是这个问题
接受的答案建议使用Celery消息格式协议将消息从Java排队到RabbitMQ.但是,答案中给出的链接没有任何示例,只有消息格式.
此外,消息格式表示在此协议中需要任务ID(UUID)进行通信.我的C#应用程序应该如何知道芹菜任务的任务ID?据我所知,它只能知道任务名称,而不是任务ID.
我在两台机器A和B之间设置了RabbitMQ联合,双向,
但有错误
{auth_failure,"ACCESS_REFUSED - 使用身份验证机制PLAIN拒绝登录.有关详细信息,请参阅代理日志文件."}
在日志文件中,似乎联盟amqp需要通过访客/访客凭证访问,这就是这里的问题:
使用现有的解决方案来设置测试/测试:
我试图通过运行:rabbitmqctl set_permissions -p/guest"来使guest/guest也可以在另一台机器上工作." "" "*"
但仍然无法通过另一台机器上的访客/来宾登录,
在rabbitMQ管理Web UI中,用户测试和客户看起来都是一样的:
名称标签可以访问虚拟主机有密码
来宾管理员/●
测试管理员/●
但为什么我仍然无法使用另一台机器上的访客/来宾登录?(测试/测试工作正常)
我正在尝试运行RabbitMQ Python教程,但是虚拟机主机上的发送者和虚拟机客户机上的接收器和队列.所以我修改了提到的send.py代码,只修改了localhost和192.168.1.5.当我运行它时,我收到以下错误:
...
File "/home/damian/.virtualenvs/kivy_1.9/local/lib/python2.7/site-packages/pika/adapters/base_connection.py", line 153, in _check_state_on_disconnect
raise exceptions.ProbableAuthenticationError
pika.exceptions.ProbableAuthenticationError
Run Code Online (Sandbox Code Playgroud)
rabbitmq-server似乎正在运行,因为当我停止它时send.py给了我:
...
File "/home/damian/.virtualenvs/kivy_1.9/local/lib/python2.7/site-packages/pika/adapters/blocking_connection.py", line 301, in _adapter_connect
raise exceptions.AMQPConnectionError(error)
pika.exceptions.AMQPConnectionError: Connection to 192.168.1.5:5672 failed: [Errno 111] Connection refused
Run Code Online (Sandbox Code Playgroud)
这很有道理.
如何修复ProbableAuthenticationError?
主机是Debian 7,Python 2.7.3和pika 0.9.14,guest是Ubuntu 15.04 with rabbitmq-server 3.4.3-2
我有这个来自rabbitmq教程的简单代码(http://www.rabbitmq.com/tutorials/tutorial-one-python.html)
import pika
import logging
logging.basicConfig()
connection = pika.BlockingConnection(pika.ConnectionParameters(
host='localhost'))
channel = connection.channel()
channel.queue_declare(queue='hello')
print ' [*] Waiting for messages. To exit press CTRL+C'
def callback(ch, method, properties, body):
print " [x] Received %r" % (body,)
channel.basic_consume(callback,
queue='hello',
no_ack=True)
channel.start_consuming()
Run Code Online (Sandbox Code Playgroud)
它可以工作,但是如果我从我自己的计算机或同一网络中的计算机使用我计算机的 ip 更改 localhost:
connection = pika.BlockingConnection(pika.ConnectionParameters(
host='192.168.60.126'))
Run Code Online (Sandbox Code Playgroud)
我收到此错误:
>python rabbitMQReceiver.py
ERROR:pika.adapters.base_connection:Socket Error on fd 316: 10054
Traceback (most recent call last):
File "rabbitMQReceiver.py", line 7, in <module>
host='192.168.60.126'))
File "C:\Python27\lib\site-packages\pika\adapters\base_connection.py", line 61, in __init__
super(BaseConnection, self).__init__(parameters, on_open_callback) …Run Code Online (Sandbox Code Playgroud)