文档章节

RabbitMQ 远程连接

Airship
 Airship
发布于 2016/03/17 02:07
字数 342
阅读 135
收藏 0

 

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

"guest" user can only connect via localhost

官方文档:http://www.rabbitmq.com/access-control.html

如果必须使用guest用户来进行远程登录,需要修改配置

 

1
[{rabbit, [{loopback_users, []}]}].

 

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

  • rabbitmqctl add_user admin admin

  • rabbitmqctl set_user_tags admin administrator

  • rabbitmqctl set_permissions -p / admin "." "." ".*"

(2)修改配置文件

 

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

 

(3)重启rabbitmq-server

 

1
/etc/init.d/rabbitmq-server restart

 

(4)修改host

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

 

1
xx.xx.xx.xx rabbit-server

 

(5)认证

原文:https://pika.readthedocs.org/en/0.9.14/modules/parameters.html
pika提供了两种认证方式:ConnectinParameters和URLParameters。

ConnectionParameters

 

1
2
3
4
5
6
7
8
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

 

1
2
3
4
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 pika

i = 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()

         

 

 

#rabbitmq                  

python 对象                      

memcache 内存管理                      

 

 

本文转载自:http://m.jb51.net/show/75647http://littlefish.top/2015/04/26/rabbitmq-remote-access/

Airship
粉丝 46
博文 1045
码字总数 21161
作品 0
南京
高级程序员
私信 提问
(十一)RabbitMQ消息队列-如何实现高可用

在前面讲到了RabbitMQ高可用集群的搭建,但是我们知道只是集群的高可用并不能保证应用在使用消息队列时完全没有问题,例如如果应用连接的RabbitMQ集群突然宕机了,虽然这个集群时可以使用的,...

Super_RD
2017/05/02
0
0
Docker整合Prometheus、Grafana监控RabbitMQ

前言:这里是单独下载的rabbitmq-exporter安装的,基于Docker下载rabbitmq-exporter服务启动正常,但是远程连接rabbitmq被拒,可能是配置参数在启动时没有覆盖生效,后面解决了会更新下 一、...

WALK_MAN
04/15
112
0
Python3基础之学习笔记(十)-RabbitMQ消息队列-Redis

文章目录 1. RabbitMQ消息队列 2. Redis 1. RabbitMQ消息队列 python的队列,内置的有两种,一种是线程queue,另一种是进程queue,但是这两种queue都是只能在同一个进程下的线程间或者父进程...

GoldenKitten
01/15
0
0
RabbitMQ与.net core(一)安装

一、安装Erlang环境 前提:erlang版本与rabbitmq版本需按照要求对应!!! 1、在安装erlang之前先安装下依赖文件(这一步不要忘掉了, 不然后面./configure的时候要报错): [root@iZwz9eailk...

老六代码
01/07
0
0
python操作rabbitmq操作数据

一、RabbitMQ 消息队列介绍 RabbitMQ也是消息队列,那RabbitMQ和之前python的Queue有什么区别么? 1 2 3 4 5 6 7 8 2)Install RabbitMQ Server 1 2 3)use RabbitMQ Server 1 2 2、基本示例...

数据架构师
2018/08/27
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Spring Boot + Mybatis-Plus 集成与使用(二)

前言: 本章节介绍MyBatis-Puls的CRUD使用。在开始之前,先简单讲解下上章节关于Spring Boot是如何自动配置MyBatis-Plus。 一、自动配置 当Spring Boot应用从主方法main()启动后,首先加载S...

伴学编程
今天
7
0
用最通俗的方法讲spring [一] ──── AOP

@[TOC](用最通俗的方法讲spring [一] ──── AOP) 写这个系列的目的(可以跳过不看) 自己写这个系列的目的,是因为自己是个比较笨的人,我曾一度怀疑自己的智商不适合干编程这个行业.因为在我...

小贼贼子
今天
7
0
Flutter系列之在 macOS 上安装和配置 Flutter 开发环境

本文为Flutter开发环境在macOS下安装全过程: 一、系统配置要求 想要安装并运行 Flutter,你的开发环境需要最低满足以下要求: 操作系统:macOS(64位) 磁盘空间:700 MB(不包含 IDE 或其余...

過愙
今天
6
0
OSChina 周六乱弹 —— 早上儿子问我他是怎么来的

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @凉小生 :#今日歌曲推荐# 少点戾气,愿你和这个世界温柔以待。中岛美嘉的单曲《僕が死のうと思ったのは (曾经我也想过一了百了)》 《僕が死の...

小小编辑
今天
2.5K
16
Excption与Error包结构,OOM 你遇到过哪些情况,SOF 你遇到过哪些情况

Throwable 是 Java 中所有错误与异常的超类,Throwable 包含两个子类,Error 与 Exception 。用于指示发生了异常情况。 Java 抛出的 Throwable 可以分成三种类型。 被检查异常(checked Exc...

Garphy
今天
42
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部