Linux配置安装 RabbitMQ详细教程

引言

  • 通过 Docker 安装非常方便,只需要几条命令就好了,我这里是只说一下常规安装方法。
  • 前面提到了 RabbitMQ 是由 Erlang语言编写的,也正因如此,在安装RabbitMQ 之前需要安装 Erlang。
  • 注意:在安装 RabbitMQ 的时候需要注意 RabbitMQ 和 Erlang 的版本关系,如果不注意的话会导致出错,两者对应关系如下:
    Linux配置安装 RabbitMQ详细教程_第1张图片

安装 erlang

1. 下载 erlang 安装包

在官网下载然后上传到 Linux 上或者直接使用下面的命令下载对应的版本。

[root@bogon local]# wget http://erlang.org/download/otp_src_19.3.tar.gz

Linux配置安装 RabbitMQ详细教程_第2张图片 或者 erlang 官网自行下载:http://erlang.org/download/

Linux配置安装 RabbitMQ详细教程_第3张图片

2. 解压 erlang 安装包
[root@bogon local]# tar -xvzf otp_src_19.3.tar.gz

Linux配置安装 RabbitMQ详细教程_第4张图片

3. 删除 erlang 安装包
[root@bogon local]# rm -rf otp_src_19.3.tar.gz
4. 安装 erlang 的依赖工具
[root@bogon local]# yum -y install make gcc gcc-c++ kernel-devel m4 ncurses-devel openssl-devel unixODBC-devel

Linux配置安装 RabbitMQ详细教程_第5张图片

5. 进入erlang 安装包解压文件对 erlang 进行安装环境的配置
新建一个文件夹
[root@bogon local]# mkdir erlang
对 erlang 进行安装环境的配置
[root@bogon local]# cd otp_src_19.3
[root@bogon otp_src_19.3]# ./configure --prefix=/usr/local/erlang --without-javac
遇到下图错误时

Linux配置安装 RabbitMQ详细教程_第6张图片

因为我是虚拟机镜像CentOS-6安装所以会出现该问题(缺少很多依赖,各种尝试解决都没有明显效果),请换成镜像CentOS-7进行安装

Linux配置安装 RabbitMQ详细教程_第7张图片

6. 编译安装
[root@bogon otp_src_19.3]# make && make install

Linux配置安装 RabbitMQ详细教程_第8张图片

7. 验证一下 erlang 是否安装成功了
[root@bogon otp_src_19.3]# ./bin/erl

运行下面的语句输出“hello world”

io:format("hello world~n", []).

大功告成,我们的 erlang 已经安装完成。

8. 配置 erlang 环境变量
[root@bogon /]# cd etc/
[root@bogon etc]# vim profile

追加下列环境变量到文件末尾

#erlang
ERL_HOME=/usr/local/erlang
PATH=$ERL_HOME/bin:$PATH
export ERL_HOME PATH

运行下列命令使配置文件profile生效

[root@bogon etc]# source /etc/profile

输入 erl 查看 erlang 环境变量是否配置正确

[root@bogon etc]# erl

Linux配置安装 RabbitMQ详细教程_第9张图片

安装 RabbitMQ

[root@bogon /]# cd usr/local/

1. 下载rpm

wget https://www.rabbitmq.com/releases/rabbitmq-server/v3.6.8/rabbitmq-server-3.6.8-1.el7.noarch.rpm

或者直接在官网下载

https://www.rabbitmq.com/install-rpm.html

2. 安装rpm(默认地址一般在 /usr/lib/rabbitmq/lib/rabbitmq_server-3.6.8/)

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


紧接着执行:

yum install rabbitmq-server-3.6.8-1.el7.noarch.rpm

中途需要你输入"y"才能继续安装。Linux配置安装 RabbitMQ详细教程_第10张图片

如报错如下图所示Linux配置安装 RabbitMQ详细教程_第11张图片

需要尝试执行

[root@bogon local]# rpm -Va --nofiles --nodigest
[root@bogon local]# yum install rabbitmq-server-3.6.8-1.el7.noarch.rpm

如还报错(需要:erlang >= R16B-03) 则解决方法为

[root@bogon local]# yum -y install socat
[root@bogon local]# yum -y install epel-release
[root@bogon local]# yum -y install socat
[root@bogon local]# yum install rabbitmq-server-3.6.8-1.el7.noarch.rpm

中途需要你输入"y"才能继续安装。Linux配置安装 RabbitMQ详细教程_第12张图片

3 开启 web 管理插件

rabbitmq-plugins enable rabbitmq_management

Linux配置安装 RabbitMQ详细教程_第13张图片

4 设置开机启动

chkconfig rabbitmq-server on

命令要求换成如下

systemctl enable rabbitmq-server.service

4. 启动服务

service rabbitmq-server start

如提示:Redirecting to /bin/systemctl start rabbitmq-server.service 则启动命令按照要求换成下述即可

/bin/systemctl start rabbitmq-server.service

5. 查看服务状态

service rabbitmq-server status

Linux配置安装 RabbitMQ详细教程_第14张图片 上述要求换成下列命令查看服务状态

/bin/systemctl status rabbitmq-server.service

6. 访问 RabbitMQ 控制台

浏览器访问:http://你的ip地址:15672/

默认用户名和密码: guest/guest;但是需要注意的是:guestuest用户只是被容许从localhost访问。官网文档描述如下:

“guest” user can only connect via localhost

解决远程访问 RabbitMQ 远程访问密码错误

新建用户并授权

[root@bogon rabbitmq]# rabbitmqctl add_user root root
Creating user "root" ...
[root@bogon rabbitmq]# rabbitmqctl set_user_tags root administrator
Setting tags for user "root" to [administrator] ...
[root@bogon rabbitmq]# 
[root@bogon rabbitmq]# rabbitmqctl set_permissions -p / root ".*" ".*" ".*"
Setting permissions for user "root" in vhost "/" ...

再次访问:http://你的ip地址:15672/ ,输入用户名和密码:root root

RabbitMQ启动后无法访问http://localhost:15672 查看rabbitmq是否启动
 ps -ef | grep rabbitmq

如果启动,查看linux防火墙是否关闭,未关闭时进行关闭

查看当前防火墙状态:  systemctl status firewalld
关闭当前防火墙:  systemctl stop firewalld
开机防火墙不启动:  systemctl disable firewalld

设置完成后访问http://你的ip地址:15672/,输入用户名和密码:root root
Linux配置安装 RabbitMQ详细教程_第15张图片
Linux配置安装 RabbitMQ详细教程_第16张图片


参考文献:
https://blog.csdn.net/zxl0428/article/details/104022122,
https://github.com/Snailclimb/JavaGuide/blob/master/docs/system-design/distributed-system/message-queue/RabbitMQ%E5%85%A5%E9%97%A8%E7%9C%8B%E8%BF%99%E4%B8%80%E7%AF%87%E5%B0%B1%E5%A4%9F%E4%BA%86.md

你可能感兴趣的:(Linux,安装部署,linux)