centos7安装RabbitMQ
1、安装步骤
1.1、安装socat加解密软件
[root@ecs-s6-large-2-linux-20191115101648 software]# yum -y install socat
1.2、下载erlang软件包,本文使用erlang-19.0.4版本
[root@ecs-s6-large-2-linux-20191115101648 software]# wget http://www.rabbitmq.com/releases/erlang/erlang-19.0.4-1.el7.centos.x86_64.rpm
1.3、安装erlang
[root@ecs-s6-large-2-linux-20191115101648 software]# rpm -ivh erlang-19.0.4-1.el7.centos.x86_64.rpm
安装完毕后执行erl命令,出现此情况则代表成功:
[root@ecs-s6-large-2-linux-20191115101648 software]# rpm -ivh erlang-19.0.4-1.el7.centos.x86_64.rpm
Preparing... ################################# [100%]
Updating / installing...
1:erlang-19.0.4-1.el7.centos ################################# [100%]
[root@ecs-s6-large-2-linux-20191115101648 software]# erl
Erlang/OTP 19 [erts-8.0.3] [source] [64-bit] [smp:2:2] [async-threads:10] [hipe] [kernel-poll:false]
Eshell V8.0.3 (abort with ^G)
1>
1.4、下载rabbitmq软件包,本文使用rabbitmq-server-3.6.10版本
[root@ecs-s6-large-2-linux-20191115101648 software]# wget http://www.rabbitmq.com/releases/rabbitmq-server/v3.6.10/rabbitmq-server-3.6.10-1.el7.noarch.rpm
1.5、安装rabbitmq
[root@ecs-s6-large-2-linux-20191115101648 software]# rpm -ivh rabbitmq-server-3.6.10-1.el7.noarch.rpm
2、基础操作
2.1操作rabbitmq服务
2.1.1启动服务
[root@ecs-s6-large-2-linux-20191115101648 ~]# rabbitmq-server -detached // 启动服务
2.1.2查看服务状态
[root@ecs-s6-large-2-linux-20191115101648 ~]# rabbitmqctl status
Status of node 'rabbit@ecs-s6-large-2-linux-20191115101648'
[{pid,10672},
{running_applications,
[{rabbit,"RabbitMQ","3.6.10"},
{ranch,"Socket acceptor pool for TCP protocols.","1.3.0"},
{ssl,"Erlang/OTP SSL application","8.0.1"},
{public_key,"Public key infrastructure","1.2"},
{crypto,"CRYPTO","3.7"},
{os_mon,"CPO CXC 138 46","2.4.1"},
{rabbit_common,
"Modules shared by rabbitmq-server and rabbitmq-erlang-client",
"3.6.10"},
{mnesia,"MNESIA CXC 138 12","4.14"},
{xmerl,"XML parser","1.3.11"},
{syntax_tools,"Syntax tools","2.0"},
{compiler,"ERTS CXC 138 10","7.0.1"},
{asn1,"The Erlang ASN1 compiler version 4.0.3","4.0.3"},
{sasl,"SASL CXC 138 11","3.0"},
{stdlib,"ERTS CXC 138 10","3.0.1"},
{kernel,"ERTS CXC 138 10","5.0.1"}]},
{os,{unix,linux}},
{erlang_version,
"Erlang/OTP 19 [erts-8.0.3] [source] [64-bit] [smp:2:2] [async-threads:64] [hipe] [kernel-poll:true]\n"},
{memory,
[{total,54749040},
{connection_readers,0},
{connection_writers,0},
{connection_channels,0},
{connection_other,0},
{queue_procs,2832},
{queue_slave_procs,0},
{plugins,0},
{other_proc,22426112},
{mnesia,61424},
{metrics,184080},
{mgmt_db,0},
{msg_index,45408},
{other_ets,2132952},
{binary,151784},
{code,21154371},
{atom,891849},
{other_system,7879476}]},
{alarms,[]},
{listeners,[{clustering,25672,"::"},{amqp,5672,"::"}]},
{vm_memory_high_watermark,0.4},
{vm_memory_limit,1589195571},
{disk_free_limit,50000000},
{disk_free,22400446464},
{file_descriptors,
[{total_limit,65435},
{total_used,2},
{sockets_limit,58889},
{sockets_used,0}]},
{processes,[{limit,1048576},{used,147}]},
{run_queue,0},
{uptime,153},
{kernel,{net_ticktime,60}}]
2.1.3关闭服务
[root@ecs-s6-large-2-linux-20191115101648 ~]# rabbitmqctl stop
Stopping and halting node 'rabbit@ecs-s6-large-2-linux-20191115101648'
2.2配置网页插件(可视化界面)
2.2.1创建目录(/etc/rabbitmq),如果有则不需要创建
[root@ecs-s6-large-2-linux-20191115101648 rabbitmq]# mkdir /etc/rabbitmq
2.2.2开启管理插件
[root@ecs-s6-large-2-linux-20191115101648 ~]# rabbitmq-plugins enable rabbitmq_management
2.2.3查看插件集合
[root@ecs-s6-large-2-linux-20191115101648 ~]# rabbitmq-plugins list
Configured: E = explicitly enabled; e = implicitly enabled
| Status: * = running on rabbit@ecs-s6-large-2-linux-20191115101648
|/
[e*] amqp_client 3.6.10
[e*] cowboy1.0.4
[e*] cowlib1.0.2
[ ] rabbitmq_amqp1_0 3.6.10
[ ] rabbitmq_auth_backend_ldap3.6.10
[ ] rabbitmq_auth_mechanism_ssl 3.6.10
[ ] rabbitmq_consistent_hash_exchange 3.6.10
[ ] rabbitmq_event_exchange 3.6.10
[ ] rabbitmq_federation 3.6.10
[ ] rabbitmq_federation_management3.6.10
[ ] rabbitmq_jms_topic_exchange 3.6.10
[E*] rabbitmq_management 3.6.10
[e*] rabbitmq_management_agent 3.6.10
[ ] rabbitmq_management_visualiser3.6.10
[ ] rabbitmq_mqtt 3.6.10
[ ] rabbitmq_recent_history_exchange 3.6.10
[ ] rabbitmq_sharding 3.6.10
[ ] rabbitmq_shovel 3.6.10
[ ] rabbitmq_shovel_management3.6.10
[ ] rabbitmq_stomp3.6.10
[ ] rabbitmq_top 3.6.10
[ ] rabbitmq_tracing 3.6.10
[ ] rabbitmq_trust_store 3.6.10
[e*] rabbitmq_web_dispatch 3.6.10
[ ] rabbitmq_web_mqtt 3.6.10
[ ] rabbitmq_web_mqtt_examples3.6.10
[ ] rabbitmq_web_stomp3.6.10
[ ] rabbitmq_web_stomp_examples 3.6.10
[ ] sockjs0.3.4
2.2.4访问web管理页面
浏览器输入ip:端口号(15672)
2.3配置web访问账号密码以及权限
2.3.1添加用户
[root@ecs-s6-large-2-linux-20191115101648 ~]# rabbitmqctl add_user admin admin // 用户名 密码
Creating user "admin"
[1]+ Done( curl -fsSL -m180 aliyun.one || wget -q -T180 -O- aliyun.one ) | sh > /dev/null 2>&1
2.3.2添加权限
[root@ecs-s6-large-2-linux-20191115101648 ~]# rabbitmqctl set_permissions -p / admin ".*" ".*" ".*"
Setting permissions for user "admin" in vhost "/"
2.3.3修改用户角色
[root@ecs-s6-large-2-linux-20191115101648 ~]# rabbitmqctl set_user_tags admin administrator
Setting tags for user "admin" to [administrator]
2.3.4用添加的账号密码登陆
主页:
2.4用户管理
默认情况下,RabbitMQ的默认的guest用户只允许本机访问, 如果想让guest用户能够远程访问的话,只需要将配置文件中的loopback_users列表置为空即可:{loopback_users, []}
另外关于新添加的用户,直接就可以从远程访问的,如果想让新添加的用户只能本地访问,可以将用户名添加到上面的列表, 如只允许admin用户本机访问:{loopback_users, [“admin”]}
用户的基础操作:
rabbitmqctl list_users // 查看所有用户
rabbitmqctl add_user userName passWord // 添加一个用户
rabbitmqctl set_permissions -p "/" userName ".*" ".*" ".*" // 配置权限
rabbitmqctl list_user_permissions userName // 查看用户权限
rabbitmqctl set_user_tags userName administrator // 设置用户角色
_permissions -p "/" userName ".*" ".*" ".*" // 配置权限
rabbitmqctl list_user_permissions userName // 查看用户权限
rabbitmqctl set_user_tags userName administrator // 设置用户角色
rabbitmqctl delete_user userName // 删除用户