常用命令
1.1 基础服务的命令操作
rabbitmqctl stop_app:关闭应用
rabbitmqctl start_app:启动应用
rabbtmqctl status:节点状态
rabbitmqctl add_user username password:添加用户
rabbitmqctl list_users:列出所有用户
rabbitmqctl delete_user username:删除用户
rabbitmqctl clear_permissions - p vhostpath username: 清除用户权限
rabbitmqctl list_user_permissions_username: 列出用户权限
rabbitmqctl change_password username newpassword:修改密码
rabbitmqctl set_permissions -p vhostpath username “." ".” “.*” :设置用户权限
1.2 对rabbitmq 具体组件的命令
1.2.1 对虚拟主机操作
rabbitmqctl add_vhost vhostpath:创建虚拟主机
rabbitmqctl list_vhosts:列出所有虚拟主机
rabbitmqctl list_permissions -p vhostpath:列出虚拟主机上所有权限
rabbitmqctl delete_vhost vhostpath:删除虚拟主机
1.2.2 队列操作
rabbitmqctl list_queues:查看所有队列信息
rabbitmqctl -p vhostpath purge_queue bule:清除队列里的消息
1.3 高级操作
rabbitmqctl reset:移除所有数据,要在rabbitmqctl stop_app之后使用
rabbitmqctl join_clust [–ram]:组成集群命令
rabbitmqctl clustr_status:查看集群状态
rabbitmqctl change_cluster_node_type disc|ram 修改集群节点的存储形式
rabbitmqctl forget_cluster_node [–offline] 忘记节点(摘除节点)
rabbitmqctl rename_cluster_node oldnode1 newnode1 [oldnode2] [newnode2…] (修改节点名称)
RabbitMQ配置文件
rabbitmq-env.conf
RABBITMQ_NODE_IP_ADDRESS= //IP地址,空串bind所有地址,指定地址bind指定网络接口
RABBITMQ_NODE_PORT= //TCP端口号,默认是5672
RABBITMQ_NODENAME= //节点名称。默认是rabbit
RABBITMQ_CONFIG_FILE= //配置文件路径 ,即rabbitmq.config文件路径
RABBITMQ_MNESIA_BASE= //mnesia所在路径
RABBITMQ_LOG_BASE= //日志所在路径
RABBITMQ_PLUGINS_DIR= //插件所在路径
rabbitmq.config
tcp_listerners #设置rabbimq的监听端口,默认为[5672]。
disk_free_limit #磁盘低水位线,若磁盘容量低于指定值则停止接收数据,默认值为{mem_relative, 1.0},即与内存相关联1:1,也可定制为多少byte.
vm_memory_high_watermark #设置内存低水位线,若低于该水位线,则开启流控机制,默认值是0.4,即内存总量的40%。
hipe_compile #将部分rabbimq代码用High Performance Erlang compiler编译,可提升性能,该参数是实验性,若出现erlang vm segfaults,应关掉。
force_fine_statistics #该参数属于rabbimq_management,若为true则进行精细化的统计,但会影响性能。
frame_max #包大小,若包小则低延迟,若包则高吞吐,默认是131072=128K。
heartbeat #客户端与服务端心跳间隔,设置为0则关闭心跳,默认是600秒。
一台机器启动多个实例
以上如果希望一个机器中启动多个实例,简单需要配置的地方仅有
rabbitmq-env.conf:
#改个名字
RABBITMQ_NODENAME=your_new_node_name
#改个端口
RABBITMQ_NODE_PORT=5673
rabbitmq.config:
%tcp 监听端口对应修改%
{tcp_listeners, [5673]},
rabbitmq_management下面的监听端口对应修改,建议原端口加10000保持与原来默认的统一
{listener, [{port, 15673}]}