Rabbit MQ从安装到启动(Linux环境)

798 阅读4分钟

Rabbit MQ从安装到启动(Linux环境)

首先要知道Rabbit MQ是erlang语言开发的,装Rabbit MQ之前必须安装erlang,同时这两个的版本有对应关系,可自行去官网查看对应关系

rpm文件的下载地址

可以下载好rpm文件,上传到Linux安装,也可以使用wget命令直接下载,然后安装,此处使用的wget命令,官网上也提供了wget命令下载的代码,找到一个要安装的版本,点进去,就可以看见wget下载代码。

weget地址.png

下面是具体的安装过程:

在终端执行下面命令:

下载erlag(注意版本号)

wget --content-disposition https://packagecloud.io/rabbitmq/erlang/packages/el/7/erlang-22.3.4.12-1.el7.x86_64.rpm/download.rpm

安装erlang

yum localinstall erlang-22.3.4.12-1.el7.x86_64.rpm

成功之后,下载Rabbit MQ

wget --content-disposition https://packagecloud.io/rabbitmq/rabbitmq-server/packages/el/7/rabbitmq-server-3.8.13-1.el7.noarch.rpm/download.rpm

安装之前运行下面的命令将key导入,(不导入应该也是可以的,我不是很确定)

rpm --import https://www.rabbitmq.com/rabbitmq-release-signing-key.asc

安装

yum localinstall rabbitmq-server-3.8.13-1.el7.noarch.rpm

安装完之后,进行启动

systemctl start rabbitmq-server

可以通过下面的命令查看是否启动状态,查看打印出来的状态信息即可,有绿色的running就是成功了(要向生活过得去,代码总要带点绿哈哈哈)

systemctl status rabbitmq-server

启动不成功,可能是因为ip-主机名映射问题,修改映射,注意的是修改完之后要重启Rabbit MQ


## 查看ip
ifconfig

## 查看主机名
hostname

## 修改主机名
hostnamectl set-hostname xxx


vim /etc/hosts
## 追加上
ip  xxx

设置开机自动启动

systemctl enable rabbitmq-server

以上就安装完成了,然后我们安装web界面插件,默认是不安装的,安装web界面插件后可通过下面的地址进行访问web界面,默认的账号密码是guest,默认情况下只能在本机访问,如果要在windows下的游览器访问需要添加远程登录用户,并分配权限。

在windows下的游览器访问:
http://Linux的ip:15672/#/

首先安装web界面插件

rabbitmq-plugins enable rabbitmq_management

安装完成后重启Rabbit MQ服务

systemctl restart rabbitmq-server

接下来是创建远程登录用户(名字随意,毕竟是自己创建的,密码随意,爱咋咋地)

rabbitmqctl add_user admin admin

分配远程登录用户的权限

rabbitmqctl set_user_tags admin administrator

注意:经过我的实验,此处只分配该权限在进行java代码操作时会出现如下的错误

Caused by: com.rabbitmq.client.ShutdownSignalException: connection error; protocol method: #method<connection.close>(reply-code=530, reply-text=NOT_ALLOWED - access to vhost '/' refused for user 'user_admin', class-id=10, method-id=40)

该错误的原因是:rabbitmq使用的用户没有赋予访问权限,创建的是admin用户,给admin用户赋予‘/’目录的访问权限就可以

授权代码如下

rabbitmqctl  set_permissions -p / admin '.*' '.*' '.*'

权限分配完成后,再次访问web界面还是无法访问,使用为所用到的15672端口没有开放,直接放行端口即可

/sbin/iptables -I INPUT -p tcp --dport 15672 -j ACCEPT

或者直接关闭防火墙

systemctl stop firewalled

##查看防火墙状态

systemctl status firewalld

以上一系列操作完成后最好重新启动一下Rabbit MQ

systemctl restart rabbitmq-server

最后就可以从web端访问,地址在上边写了,也可以通过java进行相关操作。

以上就是学习Rabbit MQ安装时候的安装流程,以及遇到一些问题,大家理性参考,是在不行搞个docker一切从简。(作者:钱到位一直加班)

补充:安装延时队列插件#  rabbitmq_delayed_message_exchange

查看是否安装该插件

rabbitmq-plugins list

包名:rabbitmq_delayed_message_exchange-3.8.0.ez

下载地址

wget安装方式,需要修改版本号,直接进入rabbitmq的plugins路径下下载即可

wget https://github.com/rabbitmq/rabbitmq-delayed-message-exchange/releases/download/v3.8.0/rabbitmq_delayed_message_exchange-3.8.0.ez

要注意版本版本问题,如果版本不匹配安装的时候回提示,就算成功了也启动不起来

如果不使用wget下载,而是下载包,将包上传到该路径,下边是我的路径

可以通过以下命令查看rabbitmq的安装路径

whereis rabbitmq 

查到安装路径之后,将下载好的插件包弄到下面的路径,每个人的不一样,只要弄到plugins包下即可

/usr/lib/rabbitmq/lib/rabbitmq_server-3.8.13/plugins

开启插件

rabbitmq-plugins enable rabbitmq_delayed_message_exchange

开启之后可能出现这些代码,这个不影响使用,正常用即可

Enabling plugins on node rabbit@zzy:
rabbitmq_delayed_message_exchange
The following plugins have been configured:
  rabbitmq_delayed_message_exchange
  rabbitmq_management
  rabbitmq_management_agent
  rabbitmq_web_dispatch
Applying plugin configuration to rabbit@zzy...
Plugin configuration unchanged.

重启rabbitmq即可