在 CentOS7 上安装 RabbitMQ 消息队列中间件
RabbitMQ 是流行的开源消息队列系统,是 AMQP(Advanced Message Queuing Protocol 高级消息队列协议)的标准实现,用 erlang 语言开发。RabbitMQ 具有良好的性能和时效性,同时还能够非常好的支持集群和负载部署,非常适合在较大规模的分布式系统中使用。
一、安装 erlang
// 下载 rpm -Uvh ... (地址已不可访问) // 安装 yum -y localinstall erlang-19.0.4-1.el7.centos.x86_64.rpm
安装完成后再安装 RabbitMQ。
二、安装 RabbitMQ
1. 下载 rpm:
wget http://www.rabbitmq.com/releases/rabbitmq-server/v3.6.6/rabbitmq-server-3.6.6-1.el7.noarch.rpm
2. 安装:
yum -y localinstall rabbitmq-server-3.6.6-1.el7.noarch.rpm
3. 启动
systemctl start rabbitmq-server.service
4. 查看状态
systemctl status rabbitmq-server.service
如下则表示安装成功:
5. 添加配置文件
上图我们看到日志文件在:Logs: /var/log/rabbitmq/rabbit@....log
打开日志可以看到如下内容:
这里提示没有找到配置文件,我们可以手动在这个目录下添加一个:
// 跳转目录 cd /etc/rabbitmq // 创建文件 vim rabbitmq.config
添加内容:
[{rabbit, [{loopback_users, []}]}].
重启:
systemctl restart rabbitmq-server.service
三、开启管理端
1. 启动插件
rabbitmq-plugins enable rabbitmq_management
2. 修改防火墙
// 开放管理端端口 firewall-cmd --zone=public --add-port=15672/tcp --permanent // 开放服务器端口 firewall-cmd --zone=public --add-port=5672/tcp --permanent // 重启 firewall-cmd --reload
3. 访问管理页面
http://localhost:15672
RabbltMQ 默认的账号 guest,密码 guest。
该账号只允许在本地访问。
4. 配置远程访问
// 添加用户 rabbitmqctl add_user admin admin123 // 添加权限 rabbitmqctl set_permissions -p "/" admin ".*" ".*" ".*" // 赋予超级管理员角色 rabbitmqctl set_user_tags admin administrator
安装到这里就结束了,以下是对 RabbitMQ 使用的一些知识扩展。
四、重置 RabbitMQ 配置
1. 关闭 RabbitMQ
rabbitmqctl stop_app
2. 重置
rabbitmqctl reset
3. 启动 RabbitMQ
rabbitmqctl start_app
重置后,远程用户也会清除。需要重新配置远程用户。
五、其他命令
add_user <UserName> <Password> delete_user <UserName> change_password <UserName> <NewPassword> list_users add_vhost <VHostPath> delete_vhost <VHostPath> list_vhostsset_permissions [-p <VHostPath>] <UserName> <Regexp> <Regexp> <Regexp> clear_permissions [-p <VHostPath>] <UserName> list_permissions [-p <VHostPath>] list_user_permissions <UserName> list_queues [-p <VHostPath>] [<QueueInfoItem> ...] list_exchanges [-p <VHostPath>] [<ExchangeInfoItem> ...] list_bindings [-p <VHostPath>] list_connections [<ConnectionInfoItem> ...]