rabbit知识点汇总笔记

来源:互联网 发布:天刀霸气真武捏脸数据 编辑:程序博客网 时间:2024/06/08 15:40
rabbitmq-plugins enable rabbitmq_management //启用管理插件
rabbitmqctl set_user_tags usrname administrator //设置administrator角色








queue_declare($_QUEUE,false,true,false,false);
第三个参数设置true保证服务器重启后,自动建立队列
第五个参数设置成false防止接收端没连接的时候丢失消息
$ch->exchange_declare($EXCHANGE, 'direct', false, true, false);
第四个参数设置true保证重启后,自动建立交换机
第五个参数设置false防止接收端断开后,交换机被删除




关于修改监听ip和监听端口
vi /etc/rabbitmq/rabbitmq.conf
RABBITMQ_NODE_IP_ADDRESS=0.0.0.0
RABBITMQ_NODE_PORT=2222








配置
一般情况下,RabbitMQ的默认配置就足够了。如果希望特殊设置的话,有两个途径:
一个是环境变量的配置文件 rabbitmq-env.conf ;
一个是配置信息的配置文件 rabbitmq.config;
注意,这两个文件默认是没有的,如果需要必须自己创建。
rabbitmq-env.conf这个文件的位置是确定和不能改变的,位于:/etc/rabbitmq目录下(这个目录需要自己创建)。
文件的内容包括了RabbitMQ的一些环境变量,配置下面:
RABBITMQ_MNESIA_BASE=/rabbitmq/data        //需要使用的MNESIA数据库的路径
RABBITMQ_LOG_BASE=/rabbitmq/log        //log的路径
RABBITMQ_PLUGINS_DIR=/rabbitmq/plugins    //插件的路径




rabbitmq.config
这是一个标准的erlang配置文件。它必须符合erlang配置文件的标准。
它既有默认的目录,也可以在rabbitmq-env.conf文件中配置。




管理
Rabbitmq服务器的主要通过rabbitmqctl和rabbimq-plugins两个工具来管理




持久化
创建queue和exchange默认情况下都是没有持久化的,节点重启之后queue和exchange就会消失,这里需要特别指定queue和exchange的durable属性.




启动异常
启动rabbitmq-server时,报错信息:Starting rabbitmq-server: FAILED - check /var/log/rabbitmq/startup_{log, _err}
解决:使用netstat 查看是否存在,如果存在用kiss 将其杀死,在启动,我试过可以解决




持久化
一般的AMQP库都是将Delivery Mode设置成1,也就是非持久的。所以要持久化消息的步骤如下:
将交换机设成 durable。
将队列设成 durable。
将消息的 Delivery Mode 设置成2 。




应用和集群管理 
1.停止RabbitMQ应用,关闭节点 
# rabbitmqctl stop 
2.停止RabbitMQ应用 
# rabbitmqctl stop_app 
3.启动RabbitMQ应用 
# rabbitmqctl start_app 
4.显示RabbitMQ中间件各种信息 
# rabbitmqctl status 
5.重置RabbitMQ节点 
# rabbitmqctl reset 
# rabbitmqctl force_reset 




6.循环日志文件 
# rabbitmqctl rotate_logs[suffix] 
7.集群管理   www.2cto.com  
# rabbitmqctl cluster clusternode… 
用户管理 
1.添加用户 
# rabbitmqctl add_user username password 
2.删除用户 
# rabbitmqctl delete_user username 
3.修改密码 
# rabbitmqctl change_password username newpassword 
4.列出所有用户 
# rabbitmqctl list_users 
 
权限控制 
1.创建虚拟主机 
# rabbitmqctl add_vhost vhostpath 
2.删除虚拟主机   www.2cto.com  
# rabbitmqctl delete_vhost vhostpath 
3.列出所有虚拟主机 
# rabbitmqctl list_vhosts 
4.设置用户权限 
# rabbitmqctl set_permissions [-p vhostpath] username regexp regexp regexp 
5.清除用户权限 
# rabbitmqctl clear_permissions [-p vhostpath] username 
6.列出虚拟主机上的所有权限 
# rabbitmqctl list_permissions [-p vhostpath] 
7.列出用户权限 
# rabbitmqctl list_user_permissions username








参考:http://blog.csdn.net/zhangxinrun/article/details/8178262 
     http://www.cnblogs.com/whymaths/archive/2013/01/27/2878529.html
     http://www.cnblogs.com/orez88/articles/1864328.html
     http://2057.iteye.com/blog/1749945
     http://www.2cto.com/os/201206/137847.html?fw_key=20EAF9E5E8BB84D5
0 0
原创粉丝点击