CentOS7安装RabbitMQ

由于rabbitmq是基于erlang语言开发的,所以必须先安装erlang。

==> Erlang和RabbitMQ的版本对应关系

安装Erlang

方法一

  • 安装依赖
yum -y install gcc glibc-devel make ncurses-devel openssl-devel xmlto perl wget gtk2-devel binutils-devel
  • wget下载Erlang OTP或通过【官网下载地址|otp仓库地址】下载后上传到服务器
wget http://erlang.org/download/otp_src_22.0.tar.gz

  • 解压
tar -zxvf otp_src_22.0.tar.gz
  • 移走
mv otp_src_22.0 /usr/local/
  • 切换目录
cd /usr/local/otp_src_22.0/
  • 创建即将安装的目录
mkdir ../erlang
  • 构建(此步骤可不要;如果出现 ./otp_build: line 319: autoconf: command not found,需要yum install -y autoconf
./otp_build autoconf
  • 配置安装路径
./configure --prefix=/usr/local/erlang

如果遇到这个错 就假装没看到

  • 安装
make install
  • 查看一下是否安装成功
ll /usr/local/erlang/bin
  • 添加环境变量
echo 'export PATH=$PATH:/usr/local/erlang/bin' >> /etc/profile

如果在进行configure命令的时候没有配置添加prefix则默认安装在/usr/local/lib/erlang/bin

  • 刷新环境变量
source /etc/profile
  • 一条命令erl试运行,成功则输入halt().命令退出来(点号别忘记)


方法二

  • 完成erlang的前置条件配置 ==>执行云存储库快速脚本
  curl -s https://packagecloud.io/install/repositories/rabbitmq/erlang/script.rpm.sh | sudo bash
  • 安装erlang(二选一)
  #默认安装最新yum install -y erlang#制定云存储库中的rpm包yum install erlang-23.0.3-1.el7.x86_64
  • 命令测试

方法三

  • 直接下载rpm包后上传或通过wget下载
wget --content-disposition https://packagecloud.io/rabbitmq/erlang/packages/el/7/erlang-23.0.3-1.el7.x86_64.rpm/download.rpm
  • 新老版本都有

    • Erlang官网软件包:https://www.erlang-solutions.com/resources/download.html
    • github仓库地址:https://github.com/rabbitmq/erlang-rpm/tree/v23.0.3
    • github下载地址(推荐):https://github.com/rabbitmq/erlang-rpm/releases
    • package cloud地址(推荐):https://packagecloud.io/rabbitmq/erlang
    • Bintray 地址:https://bintray.com/rabbitmq-erlang/rpm/erlang
  • 旧版本

    • RabbitMQ官网的Release仓库:https://www.rabbitmq.com/releases/erlang/
    • 国内地址:https://zysd-shanghai.oss-cn-shanghai.aliyuncs.com/software/linux/erlang/erlang-21.1-1.el7.centos.x86_64.rpm
  • 安装erlang
rpm -ivh erlang-23.0.3-1.el7.x86_64.rpm

安装RabbitMQ

方法一

  • wget下载或通过【GitHub开源仓库】下载后上传到服务器(noarch为适用所有CPU)
wget https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.7.15/rabbitmq-server-generic-unix-3.7.15.tar.xz

- 第一次解压(由于是tar.xz格式的所以需要用到xz,没有的话就先安装 `yum install -y xz`)

/bin/xz -d rabbitmq-server-generic-unix-3.8.5.tar.xz
  • 第二次解压
tar -xvf rabbitmq-server-generic-unix-3.8.5.tar
  • 移动并改名
# 移动到/usr/local/目录下(注意要移动的文件夹后就不在加'/')移动到同级local文件下(新文件要加'/')
mv rabbitmq_server-3.8.5/ /usr/local/
# 改名为rabbitmq
mv /usr/local/rabbitmq_server-3.8.5  /usr/local/rabbitmq
  • 配置环境变量
echo 'export PATH=$PATH:/usr/local/rabbitmq/sbin' >> /etc/profile
  • 刷新环境变量
source /etc/profile
  • 创建配置目录
mkdir /etc/rabbitmq

方法二

1、先导入两个key,没报错就表示正常。

# Package Cloud signs distributed packages using their own GPG keys. As of late 2018 Package Cloud is undergoing a signing key migration. Instead of relying on a "master key", projects will migrate to use repository-specific signing keys. Before the migration is completed, both old and new key must be imported for forward compatibility:
# 包云使用它们自己的GPG密钥对分布式包进行签名。到2018年底,包云正在进行签名密钥迁移。项目将迁移到使用存储库特定的签名键,而不是依赖于“主键”。在迁移完成之前,为了向前兼容,必须同时导入新旧密钥:
# import the new PackageCloud key that will be used starting December 1st, 2018 (GMT)
# 导入将于2018年12月1日起使用的新PackageCloud密钥(GMT)
rpm --import https://packagecloud.io/rabbitmq/rabbitmq-server/gpgkey
# import the old PackageCloud key that will be discontinued on December 1st, 2018 (GMT)
# 进口将于2018年12月1日停产的旧PackageCloud密钥
rpm --import https://packagecloud.io/gpg.key

2、完成RabbitMQ的前置条件配置 ==>执行云存储库快速脚本

curl -s https://packagecloud.io/install/repositories/rabbitmq/rabbitmq-server/script.rpm.sh | sudo bash

3、下载RabbitMQ的RPM安装包

wget https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.8.5/rabbitmq-server-3.8.5-1.el7.noarch.rpm
wget --content-disposition https://packagecloud.io/rabbitmq/rabbitmq-server/packages/el/7/rabbitmq-server-3.8.5-1.el7.noarch.rpm/download.rpm

**RabbitMQ官网安装文档:**https://www.rabbitmq.com/download.html(根据需要点击右侧的In This Section或看主文档)

GitHub仓库地址(推荐):https://github.com/rabbitmq/rabbitmq-server/releases/

package cloud地址(推荐):https://packagecloud.io/rabbitmq

Bintray 地址:https://dl.bintray.com/rabbitmq/all/rabbitmq-server/

RabbitMQ官网的Release仓库:https://www.rabbitmq.com/releases/rabbitmq-server/

国内地址:https://zysd-shanghai.oss-cn-shanghai.aliyuncs.com/software/linux/rabbitmq/rabbitmq-server-3.7.8-1.el7.noarch.rpm

4、下载成功后,上传到服务器,然后使用命名安装。(二选一)

rpm -ivh rabbitmq-server-3.8.5-1.el7.noarch.rpm
yum install rabbitmq-server-3.8.5-1.el7.noarch.rpm
  • 仔细看有一个警告和一个错误。警告是缺少key,而错误是socat,只需要导入key和安装socat即可

    1)导入key

    rpm --import https://www.rabbitmq.com/rabbitmq-release-signing-key.asc
    
    1. 安装socat
    yum -y install epel-release
    yum -y install socat
    

5、查找rabbitmq

whereis rabbitmq

6、列出rabbitmq执行文件

ll /usr/sbin/ | grep 'rabbit'

启动命令

  • 启动:
# 方法一
rabbitmq-server -detached
# 方法二
systemctl start rabbitmq-server
service rabbitmq-server start
  • 停止:
rabbitmqctl stop
  • 状态:
rabbitmqctl status
  • 如果出现这样的问题,则说明rabbitmq还未完全启动

  • 未启动则提示:Error: unable to connect to node rabbit@wangzaiplus: nodedown
  • 处理防火墙、端口开放567215672等问题
  • 检查是否启动成功
ps -ef | grep rabbitmq

WEB管理

  • 开启web插件,启用管理平台插件后,可以可视化管理RabbitMQ
rabbitmq-plugins enable rabbitmq_management
  • 关闭管控台
rabbitmq-plugins disable rabbitmq_management
  • 查看所有插件
rabbitmq-plugins list
  • 访问:http://127.0.0.1:15672/

  • rabbitmq默认端口(如果用其它协议,还有其它口,参照rabbitmq官网说明)

    • client端通信口:5672
    • 管理口:15672
    • server间内部通信口:25672
    • erlang发现口:4369

用户管理

  • 查看所有用户
rabbitmqctl list_users
  • 添加一个用户
rabbitmqctl add_user zhaobl 123456
  • 配置权限,授权远程访问(也可以登录后,可视化配置)
rabbitmqctl set_permissions -p "/" zhaobl ".*" ".*" ".*"
  • 查看用户权限
rabbitmqctl list_user_permissions zhaobl
  • 设置tag(设置用户为超级管理员,Tag可以为administrator,monitoring,management
rabbitmqctl set_user_tags zhaobl administrator
  • 删除用户(安全起见,删除默认用户)
rabbitmqctl delete_user guest
  • 创建完成后,重启RabbitMQ(可要可不要)
systemctl restart rabbitmq-server

设置开机自启

chkconfig rabbitmq-server on
systemctl enable rabbitmq-server.service

RabbitMQ配置(可选)

  • 默认账号密码:guest guest(这个账号只允许本机访问,从rabbitmq3.3.0开始)

为了让 guest 用户能够远程访问

  • 方法一:新建配置文件配置loopback_users即可(rabbitmq.config配置文件需手动创建), 步骤如下:
cd /etc/rabbitmq
# 新建配置文件
touch rabbitmq.config
vim rabbitmq.config
#写入并保存
[{rabbit, [{loopback_users, []}]}].
#重启服务
service rabbitmq-server restart
#重新以guest登录, OK
  • 方法二:把/usr/share/doc/rabbitmq-server-3.7.15/rabbitmq.config.example拷贝到/etc/rabbitmq/下并且重命名,去掉后缀 .example 就行,移除前面的 %% 代表注释 以及 最后的 逗号,这个是代表运行 guest 默认用户可以在非本地环境登录
%% The default "guest" user is only permitted to access the server
%% via a loopback interface (e.g. localhost).
%% {loopback_users, [<<"guest">>]},
%%
%% Uncomment the following line if you want to allow access to the
%% guest user from anywhere on the network.
%%{loopback_users, []},修改为%% The default "guest" user is only permitted to access the server
%% via a loopback interface (e.g. localhost).
%% {loopback_users, [<<"guest">>]},
%%
%% Uncomment the following line if you want to allow access to the
%% guest user from anywhere on the network.
{loopback_users, []}

参考资料

[ ]:https://www.cnblogs.com/fengyumeng/p/11133924.html
[ ]: https://blog.csdn.net/weixin_40584261/article/details/106826044
[ ]:https://blog.csdn.net/yisangwu/article/details/107715240
[ ]:https://www.jianshu.com/p/ee9f7594212b
[ ]:https://blog.csdn.net/qq_31803503/article/details/94009837

错误解决

  • 解决erlang >= 20.3 is needed by rabbitmq-server-3.7.15-1.el7.noarch问题:

已经安装了Erlang varsion21.3 但还是报这个错误,这个时候可以使用命令
++rpm -ivh --nodeps rabbitmq-server-3.5.7-1.noarch.rpm++

详情:stackoverflow

–nodeps就是安装时不检查依赖关系,比如你这个rpm需要A,但是你没装A,这样你的包就装不上,用了–nodeps你就能装上了。

–force就是强制安装,比如你装过这个rpm的版本1,如果你想装这个rpm的版本2,就需要用–force强制安装


  • 在使用rpm方式安装rabbitmq时,执行yum出现以下问题:

通过erl查看,发现已经安装了21.0的erl,这时需要重新安装最新的erlang

1.手动配置erlang的repo源vi /etc/yum.repos.d/rabbitmq-erlang.repo
在文件中加入以下内容:

# In /etc/yum.repos.d/rabbitmq-erlang.repo
[rabbitmq-erlang]
name=rabbitmq-erlang
baseurl=https://dl.bintray.com/rabbitmq/rpm/erlang/20/el/7
gpgcheck=1
gpgkey=https://dl.bintray.com/rabbitmq/Keys/rabbitmq-release-signing-key.asc
repo_gpgcheck=0
enabled=1

2.清理rpm文件缓存

yum clean all
yum makecache

3.查看已有的源文件
yum list |grep erlang 此时发现有一个21.3的文件可以用,我们就安装这个文件yum install erlang.x86_64

完成后继续执行yum install rabbitmq-server-3.7.18-1.el7.noarch.rpm提示成功


  • 在启动Rabbitmq的时候,如果启动失败了,有提示有用journalctl -ex,查看到有报如下信息的时候

1.这时候用rabbitmqctl status查看一下,如果有错误的话会显示如下信息

2.这时候要第一行的红色圈起来的字直接用echo 192.168.174.131 rabbitmq>>/etc/hosts其中的IP是服务器的IP,写入后的效果如下

3.这时候再重启一下Rabbitmq,就可以快速启动了,启动完后再用,这时候用 rabbitmqctl status查看一下,这时候就会显示正确的信息了

整合CentOS7安装RabbitMQ的几个方法相关推荐

  1. CentOS7 安装 RabbitMQ 3.6(方法适用于安装任意版本 RabbitMQ)

    安装 RabbitMQ 步骤 说明: 由于新版本的诸多不确定性,所以这里我们选择稳定的 3.6.x 版本进行安装,由于 RabbitMQ 基于 Erlang,所以我们需要先安装 Erlang,注意:切 ...

  2. CentOS7 安装RabbitMQ 亲测(编写中,有大神请帮忙指点下文中遇到的问题,谢谢)...

    为什么80%的码农都做不了架构师?>>>    CentOS7 安装RabbitMQ 亲测 我按照别的博文,使用 yum install erlang 命令安装了erlang,然后再 ...

  3. Centos7安装RabbitMQ与使用(超详细)

    Centos7安装RabbitMQ 第一步.安装任何软件包之前,建议使用以下命令更新软件包和存储库 yum -y update 第二步.Erlang在默认的YUM存储库中不可用,因此您将需要安装EPE ...

  4. centos7 安装mysql php,Centos7安装mysql与php的方法

    本文主要和大家分享Centos7安装mysql与php的方法,希望能帮助到大家. 相关mysql视频教程推荐:<mysql教程> 官网下载安装mysql-server 依次使用下面三个命令 ...

  5. centos7安装RabbitMQ

    1 centos7安装RabbitMQ 1.1 先安装erlang(RabbitMQ基于erlang的所以必须先安装这个) f**k 在安装环境的路上磕磕绊绊醉了 yum -y install gcc ...

  6. php 安装rabbitmq拓展_【RabbitMQ】——centos7安装rabbitmq教程 以及 PHP开启rabbitmq扩展...

    第一步:安装Erlang 因为rabbitMQ是Erlang语言编写的,所以我们首先需要安装Erlang rpm -Uvh http://www.rabbitmq.com/releases/erlan ...

  7. centos7安装rabbitmq 总结

    centos7下安装rabbitmq 折腾了三天最后做了以下总结 先查看一电脑名  :示例 1 #hostname 2 3 name 查看一下hosts配置文件:如果如下结果,就要修改下 1 #cat ...

  8. centos7安装RabbitMQ教程

    更新基本系统 在安装任何软件包之前,建议您使用以下命令更新软件包和存储库. yum -y update 更新系统后,进一步安装Erlang. 安装Erlang RabbitMQ是用Erlang语言编写 ...

  9. CentOS7安装RabbitMQ集群

    实验环境 RabbitMQ 集群 server1.example.com    IP: 10.10.10.11    Node: disk server2.example.com    IP: 10. ...

最新文章

  1. TestBird频现国内手游“盛宴” 开发商互相介绍用得很赞
  2. 设计海量key-value数据的存储查询模块
  3. 分享一个自定义的 console 类,让你不再纠结JS中的调试代码的兼容
  4. 第四范式:现代存储架构下的系统优化实践
  5. python常用的装饰器库_Python中的各种装饰器详解
  6. 6-10 阶乘计算升级版(20 分)
  7. 43.Linux/Unix 系统编程手册(下) -- 进程间通信简介
  8. ThinkPHP6内核学生成绩管理系统源码
  9. DB2数据库迁移,数据库导入导出
  10. 08-05-09pe_xscan 增加IE版本检测
  11. GPS 射频调试总结
  12. win10 我的世界java_Windows10系统怎样运行我的世界
  13. Qingdao Panda进阶之路
  14. 腾讯校招java面经_腾讯校招技术岗面试经历及总结(笔试-一面-二面-终面均通过)...
  15. ftp服务器怎么删文件夹,删除ftp服务器文件夹
  16. 彻底删除2345输入法
  17. 人类第一位女教授的传奇一生
  18. 网速慢的几种原因--冤枉的几天呀(网线的问题)
  19. F28379D烧写双核程序(在线离线)
  20. 最新软件开发企业网站Pbootcms模板源码

热门文章

  1. 怎么做好一件复杂的事情 No.201
  2. web_set_user 不能login问题
  3. Method XXX does not exist.
  4. [Tushare]使用分享
  5. ACA云原生4微服务和Serverless架构
  6. JavaScript 动态渲染页面爬取(一) —— 基于 Selenium
  7. Address localhost:1099 is already in use
  8. 壁纸 | iOS 14 内置这几张壁纸,你喜欢吗?
  9. 网络流量大数据分析平台(1)
  10. 如何成为一名数据分析师:数据的初步认知