博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
RabbitMQ(六)远程连接
阅读量:7223 次
发布时间:2019-06-29

本文共 1958 字,大约阅读时间需要 6 分钟。

RabbitMQ(六)远程连接

默认情况下,rabbitmq使用`guest`来连接本地(localhost)的server,当需要远程连接时,就会失效。

"guest" user can only connect via localhost

官方文档:
如果必须使用`guest`用户来进行远程登录,需要修改配置
[{rabbit, [{loopback_users, []}]}].

(1)那么首先需要创建并添加一个用户`test`,让其具有管理员权限

rabbitmqctl add_user rootroot rabbitmqctl set_user_tags rootadministrator rabbitmqctl set_permissions -p / root".*" ".*" ".*"

(2)修改配置文件

[{rabbit, [{loopback_users, ["root"]}]}].

(3)重启rabbitmq-server

/etc/init.d/rabbitmq-server restart

(4)修改host

修改远程客户端机器上的/etc/hosts,添加rabbit-server的IP
xx.xx.xx.xx rabbit-server

(5)认证

原文:
pika提供了两种认证方式:ConnectinParameters和URLParameters。

ConnectionParameters

import pika# Set the connection parameters to connect to rabbit-server1 on port 5672# on the / virtual host using the username "guest" and password "guest"credentials = pika.PlainCredentials('root', 'root')parameters = pika.ConnectionParameters('rabbit-server1',                                       5672,                                       '/',                                       credentials)

URLParameters

import pika# Set the connection parameters to connect to rabbit-server1 on port 5672# on the / virtual host using the username "guest" and password "guest"parameters = pika.URLParameters('amqp://guest:guest@rabbit-server1:5672/%2F')

例子

import pikai = 1def callback(ch, method, properties, body):    global i    #print 'receive %r'%body    print 'receive %s'%i    i += 1    f = open('%s'%i, 'w+')    f.write(body)    f.close()#第一种方法#credentials = pika.PlainCredentials('mtest', 'root')#connection = pika.BlockingConnection(pika.ConnectionParameters('rabbit-server', 5672, '/', credentials))#第二种方法parameters = pika.URLParameters('amqp://mtest:root@rabbit-server:5672/%2F')connection = pika.BlockingConnection(parameters)channel = connection.channel()channel.queue_declare(queue='hello')channel.basic_consume(callback, queue='hello1', no_ack=True)channel.start_consuming()

 

转载于:https://www.cnblogs.com/coder2012/p/4457381.html

你可能感兴趣的文章
crontab计划任务补充知识
查看>>
数据库备份
查看>>
独家 | 图灵奖得主Raj Reddy:通用AI还很遥远,人类将成宠物
查看>>
java中自动生成XML文件
查看>>
Docker 数据卷,数据卷容器详细介绍
查看>>
VS2015编译Live555流媒体服务器
查看>>
依赖属性之“风云再起”三
查看>>
利用K8S技术栈打造个人私有云(连载之:K8S资源控制)
查看>>
mysql内存过高解决办法
查看>>
CentOS7 Ceph RBD CephFS 存储
查看>>
[转载] 白话解释 非对称加密,电子签名,电子证书,根证书,HTTPS,PKI 到底是什么...
查看>>
Apache用户认证
查看>>
zabbix与nagios对比
查看>>
Glusterfs分布式文件系统
查看>>
selenium入门
查看>>
selinux的状态查看及关闭
查看>>
linux添加端口并生效
查看>>
python全局变量-局部变量用法和区别
查看>>
linux中exec操作对线程组的影响
查看>>
Ubuntu上安装TensorFlow(python2.7版)
查看>>