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 pika

i = 1

def 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(六)远程连接的更多相关文章

  1. PL/SQL Developer -> 下载 -> 安装 ->执行SQL -> 设置本地/远程连接

    一 下载 点击进入 https://www.allroundautomations.com/bodyplsqldevreg.html 二 安装 4wkf7lzcb8amvke2rzeuclnk5emc ...

  2. 远程连接RabbitMQ失败

    远程连接RabbitMQ失败 为了避免污染宿主系统环境,于是在虚拟机中搭建了一个linux环境并且按照了rabbitmq-server.然后在远程连接的时候一直连接失败. 官网上面给的例子都是在本地使 ...

  3. Android源码浅析(六)——SecureCRT远程连接Linux,配置端点和字节码

    Android源码浅析(六)--SecureCRT远程连接Linux,配置端点和字节码 需要编译源码的同学,一般都是win+虚拟机吧,但是再虚拟机里体验并不是很好,所有市面上有很多的软件能够做到在wi ...

  4. SQL Server 在windows server2008外网服务器远程连接设置

    方法如下:  一.为 SQL Server 2005 启用远程连接 1. 单击"开始",依次选择"程序"."Microsoft SQL Server ...

  5. 解决远程连接mysql错误1130

    Mysql远程连接Mysql服务器的数据库,错误代码是1130,ERROR 1130: Host xxx.xxx.xxx.xxx  is not allowed to connect to this ...

  6. SQL Server 2005无法远程连接的解决方法

    以前一直连接本地的数据库,连接SQL Server 2005是小菜的... 做项目也是老师搭好了服务器端,打上IP去访问就行...也不用考虑太多. 今天自己在公司搭SQL Server 2005服务器 ...

  7. 用sqlyog远程连接LINUX系统的MYSQL出现错解决方法

    无法给远程连接的用户权限问题.结果这样子操作mysql库,即可解决.在本机登入mysql后,更改 “mysql” 数据库里的 “user” 表里的 “host” 项,从”localhost”改称'%' ...

  8. 解决刚刚安装完mysql 远程连接不上问题

    解决远程连接mysql错误1130 远程连接Mysql服务器的数据库,错误代码是1130,ERROR 1130: Host xxx.xxx.xxx.xxx  is not allowed to con ...

  9. SQL Server 2005无法远程连接的解决方法 (转帖)

    方法如下:  一.为 SQL Server 2005 启用远程连接1. 单击"开始",依次选择"程序"."Microsoft SQL Server 2 ...

随机推荐

  1. EF支持mysq相关配置数码

    最近,项目考虑到安装部署方面:希望可以使用MySQL数据库,毕竟比较小巧.方便. 后来,自己通过测试发现EF可以支持mysql数据库,而且也可以通过codefirst模式进行开发:使用起来,跟sqls ...

  2. Java中抽象类和接口的区别

    转载自:http://dev.yesky.com/436/7581936.shtml 在Java语言中, abstract class 和interface 是支持抽象类定义的两种机制.正是由于这两种 ...

  3. 由React学习到Yeoman安装以及遇到的问题

    离职闲下来之后想着学一些新知识,本来是想从react入手,结果延伸出去的内容就像一棵树的树枝,不断增加. 学习计划是从这里开始的(6周学习计划,攻克javascript难关 https://zhuan ...

  4. ServletContext获取的方法

    ServletContext  代表当前web应用 如何获取ServletContext对象 ServletConfig对象中维护了ServletContext对象的引用,可以通过以下方式获得 Ser ...

  5. (python) 标准模块sys和os的使用

    一.sys模块 包含了系统的相关的功能.我们来学习sys.argv,它包含命令行参数. 例子:定义了一个add函数,用来实现两个整数的相加. #! coding=utf-8 # usersys.py ...

  6. html5实现摇一摇功能

    原理:使用DeviceMotion实现,关于DeviceMotion介绍可以查看 https://developer.mozilla.org/en-US/docs/Web/Reference/Even ...

  7. UVA11149_Power of Matrix

    题目简洁明了,给出矩阵,求前k次方和. 不知道这种方法是叫做二分幂还是倍增法,如果有知道的,请告诉我一下. 具体思想是这样的,A^1+A^2+A^3+......A^n=(E+A^(n/2))*(A^ ...

  8. Java 第16章 封装

    封装(encapsulation)     类使得数据和对数据的操作集成在一起,从而对使用该类的其他人来说,可以不管它的实现方法,而只管用它的功能,从而实现所谓的信息隐藏. 封装 , 使用类图描述类 ...

  9. 四川软件人才网:打造四川最专业的IT人才招聘平台

    四川软件人才网(www.tfsp.net),原名:天府软件人才网:为了更好的发展和拓展的业务需要,更名为:四川软件人才网,强力打造四川最专业的IT人才的招聘平台. 网站依托四川软件人才社区,微博,微信 ...

  10. C#学习之Stream

    上节课老师主要讲了stream及其一些运用和实例,下面我们就来讨论讨论Stream. 我们知道,C#中常用的stream有文件流(FileSteam),内存流(MemoryStream),压缩流(GZ ...