RabbitMQ部署
RabbitMQ部署
下载安装包地址:https://www.rabbitmq.com/releases/rabbitmq-server/
[root@rabbitmq ~]# ll
-rw-r--r-- 1 root root 87768737 Apr 14 15:53 otp_src_22.2.tar.gz
-rw-r--r-- 1 root root 11642480 Apr 14 15:53 rabbitmq-server-generic-unix-3.8.2.tar.xz
安装依赖包
[root@rabbitmq ~]# yum -y install make gcc gcc-c++ kernel-devel m4ncurses-devel openssl-devel unixODBC-devel zlib-devel ncurses-devel
解压otp_src_22.2.tar.gz,并编译安装
[root@rabbitmq ~]# tar -xf otp_src_22.2.tar.gz && cd otp_src_22.2
[root@rabbitmq otp_src_22.2]# ./configure --prefix=/data/erlang --without-javac
[root@rabbitmq otp_src_22.2]# make && make install
[root@rabbitmq otp_src_22.2]# cd ../
解压rabbitmq-server-generic-unix-3.8.2.tar.xz,并改名
[root@rabbitmq ~]# tar -xf rabbitmq-server-generic-unix-3.8.2.tar.xz
[root@rabbitmq ~]# mv rabbitmq_server-3.8.2 rabbitmq
写入环境变量,添加如下两行
[root@rabbitmq ~]# vim ~/.bash_profile
export PATH=$PATH:/data/erlang/bin
export PATH=$PATH:/data/rabbitmq/sbin
刷新环境变量
[root@rabbitmq ~]# source ~/.bash_profile
在后台运行rabbitmq-server
[root@rabbitmq ~]# rabbitmq-server &
## ## RabbitMQ 3.8.2
## ##
########## Copyright (c) 2007-2019 Pivotal Software, Inc.
###### ##
########## Licensed under the MPL 1.1. Website: https://rabbitmq.com
Doc guides: https://rabbitmq.com/documentation.html
Support: https://rabbitmq.com/contact.html
Tutorials: https://rabbitmq.com/getstarted.html
Monitoring: https://rabbitmq.com/monitoring.html
Logs: /data/rabbitmq/var/log/rabbitmq/rabbit@rabbitmq.log
/data/rabbitmq/var/log/rabbitmq/rabbit@rabbitmq_upgrade.log
Config file(s): (none)
Starting broker... completed with 3 plugins.
通过指令查看插件是否启动
[root@rabbitmq ~]# rabbitmq-plugins list
Listing plugins with pattern ".*" ...
Configured: E = explicitly enabled; e = implicitly enabled
| Status: * = running on rabbit@zlxt-redis-82
|/
[ ] rabbitmq_amqp1_0 3.8.2
[ ] rabbitmq_auth_backend_cache 3.8.2
[ ] rabbitmq_auth_backend_http 3.8.2
[ ] rabbitmq_auth_backend_ldap 3.8.2
[ ] rabbitmq_auth_backend_oauth2 3.8.2
[ ] rabbitmq_auth_mechanism_ssl 3.8.2
[ ] rabbitmq_consistent_hash_exchange 3.8.2
[ ] rabbitmq_event_exchange 3.8.2
[ ] rabbitmq_federation 3.8.2
[ ] rabbitmq_federation_management 3.8.2
[ ] rabbitmq_jms_topic_exchange 3.8.2
[E*] rabbitmq_management 3.8.2 #必须启动
[e*] rabbitmq_management_agent 3.8.2 #必须启动
[ ] rabbitmq_mqtt 3.8.2
[ ] rabbitmq_peer_discovery_aws 3.8.2
[ ] rabbitmq_peer_discovery_common 3.8.2
[ ] rabbitmq_peer_discovery_consul 3.8.2
[ ] rabbitmq_peer_discovery_etcd 3.8.2
[ ] rabbitmq_peer_discovery_k8s 3.8.2
[ ] rabbitmq_prometheus 3.8.2
[ ] rabbitmq_random_exchange 3.8.2
[ ] rabbitmq_recent_history_exchange 3.8.2
[ ] rabbitmq_sharding 3.8.2
[ ] rabbitmq_shovel 3.8.2
[ ] rabbitmq_shovel_management 3.8.2
[ ] rabbitmq_stomp 3.8.2
[ ] rabbitmq_top 3.8.2
[ ] rabbitmq_tracing 3.8.2
[ ] rabbitmq_trust_store 3.8.2
[e*] rabbitmq_web_dispatch 3.8.2 #必须启动
[ ] rabbitmq_web_mqtt 3.8.2
[ ] rabbitmq_web_mqtt_examples 3.8.2
[ ] rabbitmq_web_stomp 3.8.2
[ ] rabbitmq_web_stomp_examples 3.8.2
如果三个插件前面没有e*或者E*,则输入如下两个指令,让rabbitmq加载插件
[root@rabbitmq ~]# rabbitmq-plugins enable rabbitmq_management
[root@rabbitmq ~]# rabbitmqctl start_app
查看端口是否都启动:5672、15672、25672
[root@rabbitmq ~]# netstat -plnt
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:4369 0.0.0.0:* LISTEN 113593/epmd
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN -
tcp 0 0 0.0.0.0:15672 0.0.0.0:* LISTEN 126511/beam.smp
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN -
tcp 0 0 132.120.203.82:16380 0.0.0.0:* LISTEN 6010/redis-server 1
tcp 0 0 0.0.0.0:25672 0.0.0.0:* LISTEN 126511/beam.smp
tcp6 0 0 :::4369 :::* LISTEN 113593/epmd
tcp6 0 0 :::22 :::* LISTEN -
tcp6 0 0 :::5672 :::* LISTEN 126511/beam.smp
防火墙放行端口,将mq的tcp监听端口和网页管理端口都设置成允许远程访问(如果未开启防火墙不用设置)
[root@rabbitmq ~]# firewall-cmd --permanent --add-port=15672/tcp
[root@rabbitmq ~]# firewall-cmd --permanent --add-port=5672/tcp
[root@rabbitmq ~]# systemctl restart firewalld.service
通过IP:15672访问rabbitmq页面

创建rabbitmq用户,创建的新用户默认角色为空
rabbitmqctl add_user username passwd //添加用户,后面两个参数分别是用户名和密码
rabbitmqctl set_permissions -p / username ".*" ".*" ".*" //添加权限
rabbitmqctl set_user_tags username administrator //修改用户角色,将用户设为管理员
用户角色说明:
management:用户可以访问管理插件
policymaker:用户可以访问管理插件,并管理他们有权访问的vhost的策略和参数。
monitoring:用户可以访问管理插件,查看所有连接和通道以及与节点相关的信息。
administrator:用户可以做任何监视可以做的事情,管理用户,vhost和权限,关闭其他用户的连接,并管理所有vhost的政策和参数。
用户命令管理汇总:
新建用户:rabbitmqctl add_user username passwd
删除用户:rabbitmqctl delete_user username
改密码: rabbimqctl change_password {username} {newpassword}
设置用户角色:rabbitmqctl set_user_tags {username} {tag ...}
权限说明:
rabbitmqctl set_permissions [-pvhostpath] {user} {conf} {write} {read}
Vhostpath:虚拟主机,表示该用户可以访问那台虚拟主机;
user:用户名。
Conf:一个正则表达式match哪些配置资源能够被该用户访问。
Write:一个正则表达式match哪些配置资源能够被该用户设置。
Read:一个正则表达式match哪些配置资源能够被该用户访问。
管理界面介绍: # 输入用户名密码登录后进入主界面 Overview:用来显示流量,端口,节点等信息,以及修改配置文件; Connections:显示所有的TCP连接; channels:显示所有的信道连接; exchanges:显示所有的交换机以及创建删除等; queues:显示所有的队列以及创建删除等; admins:显示所有的用户以及用户管理;
虚拟主机: # 创建一个虚拟主机 rabbitmqctl add_vhost vhost_name # 删除一个虚拟主机 rabbitmqctl delete_vhost vhost_name
常用文件路径: /data/rabbitmq/var/log/rabbitmq/rabbit@tms.log:记录rabbitmq运行日常的日志 /data/rabbitmq/var/log/rabbitmq/rabbit@tms-sasl.log:rabbitmq的崩溃报告 /data/rabbitmq/etc/rabbitmq/rabbitmq.config:rabbitmq的配置文件 /data/rabbitmq/var/lib/rabbitmq/mnesia/rabbit@tms:rabbit消息持久化文件
参考链接:https://www.cnblogs.com/cwp-bg/p/10070467.html

浙公网安备 33010602011771号