一、什么是rabbitMq
RabbitMQ是一个消息中间件,使用Erlang开发语言(Erlang开发语言主要用于电话交换机等开发,自带高并发光环)
二、安装前准备(以下安装环境是针对我自己的系统环境的,如需下载安装需匹配自己的系统版本进行安装)
注意:复制我的链接访问后可以选择自己需要的版本下载,如果直接在文章中点击超链接下载的是我使用的版本,该版本对应的centOs7版linux系统可用!
1、erlang安装包,就比如使用java开发的软件需要安装jdk一样,这里我们也需要准备语言安装包
下载地址:https://github.com/rabbitmq/erlang-rpm
2、下载socat运行环境(socat是一个多功能的网络工具,名字来由是” Socket CAT”,可以看作是netcat的N
倍加强版,socat的官方网站:http://www.dest-unreach.org/socat/ 。 )
下载地址:http://mirror.centos.org/centos/7/os/x86_64/Packages
3、下载rabbitMq
下载地址:https://github.com/rabbitmq/rabbitmq-server/releases
将下载好的三个压缩包放在linux相应的文件夹下(自定义的文件夹)
以上是官方下载地址,如果要方便也可以使用我这里使用的安装包:
下载地址://download.youkuaiyun.com/download/weixin_45417573/12104429
二、安装
1、安装erlang
在存放erlang压缩包的目录下执行以下命令,完成erlang的安装
rpm -ivh erlang-21.2.6-1.el7.x86_64.rpm --force --nodeps
2、安装socat
执行以下命令安装socat
rpm -ivh socat-1.7.3.2-2.el7.x86_64.rpm
3、安装rabbitMq
执行以下命令安装rabbitMq
rpm -ivh rabbitmq-server-3.7.13-1.el7.noarch.rpm
三、测试
这里只介绍启动停止等相关命令,根据命令测试rabbitMq是否安装成功,能否正常使用
1.开机自启动命令:
chkconfig rabbitmq-server on
2.启动rabbitmq命令:
service rabbitmq-server start
3.停止rabbitmq的命令:
service rabbitmq-server stop
4.启动后可以使用以下命令检查rabbitmq是否成功安装
ps -ef|grep rabbit
5.另外,rabbitmq还提供给我们管理界面,但是要通过命令开启:
rabbitmq-plugins enable rabbitmq_management
6.除了开启管理界面还需要打开防火墙,否则防火墙拦截后我们是无法正常连接的:
firewall-cmd --zone=public --add-port=15672/tcp --permanent
firewall-cmd --zone=public --add-port=5672/tcp --permanent
firewall-cmd --reload
7.接下来我们就可以通过网页访问rabbitMq提供给我们的管理界面了,rabbitMq的管理页面默认端口是15672,而我们实际使用时5672端口,这里就不用我说怎么访问了吧……浏览器出入ip:15672访问即可
但是,当我们访问后发现需要用户登录才能使用,就像……这样:
好的,那让我们在回到刚才的linux系统,为rabbitmq创建用户:
rabbitmqctl add_user admin admin
将该用户设置成超级管理员:
rabbitmqctl set_user_tags admin administrator
接下来我们就可以通过admin用户登录管理界面了,就像这样:
到这里,linux版rabbitmq就宣布安装成功了!但是仅仅是安装成功了,我们在后端程序中还是无法访问rabbitMq的,有可能出现connection closed的异常,那么这里我们需要通过管理界面开启我们admin用户的访问权限,就像这样:
点击admin,看到我们现在有两个用户,(guest是默认用户)我们可以看到admin用户是没有访问权限的,下面选择admin用户出现以下画面:
点击 setpermission按钮,看到黄色警告部分消失就说明权限添加成功了,接下来就可以通过我们的java代码访问rabbitMq了!
注意,划重点!!!!: 按照以上安装教程一步一步安装,但是不排除安装后还是不能正常使用,或者是在设置用户名的步骤就出现了错误,错误内容如下(这个错误可以通过命令查询状态也会出现):
如果出现以上错误,其实很简单,大家可以看一下这句错误:
Error: unable to perform an operation on node 'rabbit@bogon'. Please see diagnostics information and
重点是这里的rabbit@bogon
,只需要把bogon添加到hosts文件中映射到本地ip即可;步骤如下:
以管理员权限打开hosts文件
sudo vi /etc/hosts
如图,只需要把bogon追加到映射后面即可