在CentOS7系统安装与配置RabbitMQ
RabbitMQ是一个开源的强大的企业消息系统,支持主流的操作系统,支持多种开发语言。我们项目中使用RabbitMQ作为消息队列,解耦业务,构建高可靠的消息队列系统。RabbitMQ可以用在订单系统、日志系统、数据收集等常见场景中。
安装RabbitMQ
安装 RabbitMQ 之前要安装 Erlang,需要先到RabbitMQ官网看下版本对应关系。
我们可以分别在Github和RabbitMQ官网下载对应的版本的rpm包。
本人电脑的测试环境:
cat /etc/redhat-release
:
CentOS Linux release 7.7.1908 (Core)
erlang的环境:
erlang-22.2.5-1.el8.x86_64.rpm
首先安装依赖socat,安装Erlang时需要这个。
yum install -y socat
接下来安装Erlang和RabbitMQ。
rpm -ivh erlang-22.2-1.el7.x86_64.rpm
rpm -ivh rabbitmq-server-3.8.1-1.el7.noarch.rpm
执行上述两行命令后,即完成了Erlang
和RabbitMQ
的安装,就这么简单。
启动RabbitMQ:
systemctl start rabbitmq-server
设置RabbitMQ开机自启动:
systemctl enable rabbitmq-server
RabbitMQ其他操作:
#查看启动后的情况
rabbitmqctl status
#关闭服务
rabbitmqctl stop
#重启rabbitmq
systemctl restart rabbitmq-server
配置RabbitMQ
1.启用网页版后台管理插件:
rabbitmq-plugins enable rabbitmq_management
2.新建一个用户名为admin,密码为admin的管理员,并授予管理员(administrator
)权限。
rabbitmqctl add_user admin admin
rabbitmqctl set_user_tags admin administrator
3.设置admin可以使用的虚机权限。
rabbitmqctl add_vhost admin
rabbitmqctl set_permissions -p admin admin ".*" ".*" ".*"
4.插件管理:
#插件列表:
rabbitmq-plugins list
#启动插件:
rabbitmq-plugins enable XXX (XXX为插件名)
#停用插件:
rabbitmq-plugins disable XXX
5.打开后台web管理界面:http://localhost:15672/
,刚才我们设置了admin
用户,所以可以使用admin
登录,也可以使用默认账号和密码都是guest登录。进入管理界面后可以看到:
我们可以在后台管理用户、队列等信息。
6.修改RabbitMQ
默认端口
RabbitMQ
默认开启了几个端口:
4369:erlang发现口
5672:client端通信口,客户端要连接RabbitMQ服务时要用到
15672:后台管理界面ui端口,进入管理后台时访问url如:http://localhost:15672/
25672:server间内部通信口
有时候在生产环境下,我们出于安全等原因希望修改掉默认的端口号。
如果安装的版本的没有配置文件,需要我们手动添加配置文件。
官方建议配置文件的位置:/etc/rabbitmq/rabbitmq.conf
我们现在要做的是把默认端口5672
改成56720
,并且允许远程访问。把web管理默认端口15672改成56271。只需如下配置:
#vim /etc/rabbitmq/rabbitmq.conf
#AMQP 0-9-1 and 1.0 port,默认5672,允许远程访问
listeners.tcp.default = 0.0.0.0:56720
#web管理,默认15672
management.tcp.port = 56721
management.tcp.ip = 0.0.0.0
保存,并重启RabbitMQ服务。使用netstat -lntp
查看端口。
7.其他配置
我们可以到官网地址:https://www.rabbitmq.com/configure.html
,了解RabbitMQ的性能优化方面的配置。