繁体   English   中英

如何将pika连接到rabbitMQ远程服务器? (python,pika)

[英]How to connect pika to rabbitMQ remote server? (python, pika)

在我的本地机器上,我可以:

connection = pika.BlockingConnection(pika.ConnectionParameters('localhost'))

对于这两个脚本(send.py和recv.py)来建立正确的通信,但是如何建立从12.23.45.67到132.45.23.14的通信呢? 我知道ConnectionParameters()所采用的所有参数,但我不确定要传递给主机的内容或传递给客户端的内容。 如果有人可以为主机脚本和客户端脚本提供示例,将不胜感激。

第一步是将另一个帐户添加到您的rabbitMQ服务器。 要在Windows中执行此操作...

  1. 打开命令提示符窗口(windows key-> cmd-> enter)
  2. 导航到“C:\\ Program Files \\ RabbitMQ Server \\ rabbitmq_server-3.6.2 \\ sbin”目录(键入“cd \\ Program Files \\ RabbitMQ Server \\ rabbitmq_server-3.6.2 \\ sbin”并按Enter键)
  3. 启用管理插件(键入“rabbitmq-plugins enable rabbitmq_management”并按Enter键)
  4. 打开一个broswer窗口到管理控制台并导航到管理部分( http:// localhost:15672 /#/ users with credentials“guest” - “guest”)
  5. 添加新用户(例如“the_user”,密码为“the_pass”
  6. 授予该用户对虚拟主机“/”的权限(单击用户名,然后单击“设置权限”)

现在,如果您修改连接信息,就像在send.py的以下修改中所做的那样,您应该找到成功:

#!/usr/bin/env python
import pika

credentials = pika.PlainCredentials('the_user', 'the_pass')
parameters = pika.ConnectionParameters('132.45.23.14',
                                   5672,
                                   '/',
                                   credentials)

connection = pika.BlockingConnection(parameters)

channel = connection.channel()

channel.queue_declare(queue='hello')

channel.basic_publish(exchange='',
                  routing_key='hello',
                  body='Hello W0rld!')
print(" [x] Sent 'Hello World!'")
connection.close()

希望这可以帮助

请参阅http://pika.readthedocs.org/en/latest/modules/parameters.html ,其中显示'rabbit-server1'您应该输入IP的远程主机名。

请注意, guest帐户只能通过localhost https://www.rabbitmq.com/access-control.html进行连接

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM