Rabbitmq消息队列:linux服务器上部署Rabbitmq服务
一、服务器安装中间件
此处使用的是CentOS 7系统。
1、安装Erlang运行环境
下载安装包:
wget https://packages.erlang-solutions.com/erlang-solutions-1.0-1.noarch.rpm
安装相关的依赖(不安装依赖而直接安装erlang的话会报错依赖检测失败):
yum install epel-release
安装命令如下:
rpm -Uvh erlang-solutions-1.0-1.noarch.rpm yum install erlang
使用erl命令查看erlang是否安装成功:
erl
2、安装Rabbitmq
在以下地址中下载rpm包(erlang环境和rabbitmq的版本间有对应关系):
根据erlang环境版本24去找它可支持的rabbitmq版本:
https://www.rabbitmq.com/which-erlang.html#erlang-repositories
在以下地址下载可用的rabbitmq版本:
https://github.com/rabbitmq/rabbitmq-server/releases/tag/v3.9.14
因为系统是用的centos7,所以选后缀为el7的,这个是rpm包对应的系统版本。
如果用centos8的话就要选el8后缀的,这个rpm包在不同版本系统中不通用。
把rpm包放到linux服务器上,执行以下命令:
yum install rabbitmq-server-3.9.14-1.el7.noarch.rpm
二、修改配置
1、开启远程访问
使用vi命令修改/etc/rabbitmq/rabbitmq.config配置文件,首次打开应该是空的,在里面添加以下内容:
[{rabbit,[{loopback_users,[]}]}].
注意后面有个点。
2、开启web端(开启远程访问的前提下才可用)
rabbitmq-plugins enable rabbitmq_management
注:开启时如果报错Applying plugin configuration to rabbit@iZ2ze1itscfjc7r0ogmvugZ... failed.,可能是安装的rabbitmq版本和erlang环境不匹配导致。
三、安装插件
1、消息延迟插件
下载地址如下,根据显示的对应关系,下载对应的插件版本。
https://github.com/rabbitmq/rabbitmq-delayed-message-exchange/releases
进入到目录/usr/lib/rabbitmq/lib/rabbitmq_server-3.9.14/plugins/中,将rabbitmq_delayed_message_exchange-3.9.0.ez放置到该文件夹下。
使用以下命令进行启动:
rabbitmq-plugins enable rabbitmq_delayed_message_exchange
四、启动Rabbitmq
1、启动
service rabbitmq-server start
2、关闭
service rabbitmq-server stop
3、重启
service rabbitmq-server restart
4、查看状态
service rabbitmq-server status
五、开启端口
防火墙里端口开启5672和15672两个端口,此处省略,如果是云服务器记得在控制台配置安全组规则。
六、访问web管理端
使用服务器ip:15672端口进行访问,页面如下:
默认管理员账号为用户名:guest,密码与用户名相同。
登录成功后页面如下:
七、用户权限
1、创建测试用户
执行以下命令:
rabbitmqctl add_user 用户名 密码
rabbitmqctl set_user_tags 用户名 administrator
add_user后面使用用户名和密码创建用户,set_user_tags用来给用户授权”administrator”管理员权限。
此处设置一个用户用户名和密码都为test:
在web管理端可以看到:
权限的划分有:
administrator:超级管理员,可以进入控制台、查看信息(全部)、操作用户、操作策略; monitoring:监控人员,可以进入控制台、查看信息(节点相关-进程数、内存、磁盘等使用情况); policymaker:策略人员,可以进入控制台、操作策略; management:普通管理员,可以进入控制台; none:生产者或者消费者。
2、创建虚拟主机
在admin页面的Virtual Hosts里新增一个虚拟主机,命名为test:
添加好主机后,点击虚拟主机的名称test,进入信息修改页面:
这样新增的test虚拟主机就专属于test用户了。