如何在CentOS 7上安装RabbitMQ服务器

目录

一、概述

RabbitMQ是一个免费的开源企业消息代理软件。 它是用Erlang编写的,并实现了高级消息队列协议(AMQP)。 它提供所有主要编程语言的客户端库。 它支持多种消息传递协议,消息队列,传送确认,灵活的路由到队列,多种交换类型。 它还提供易于使用的HTTP-API,命令行工具和用于管理RabbitMQ的Web UI。

那麽如何在CentOS 7上安装RabbitMQ服务器呢?

二、机器准备

服务器ip主机名系统版本
192.168.2.55myhostCentos7.2

三、系统环境

[root@myhost ~]# cat /etc/redhat-release 
CentOS Linux release 7.2.1511 (Core) 
[root@myhost ~]#  firewall-cmd --state							 #查看防火墙的状态
running
[root@myhost ~]#  firewall-cmd --list-ports                       #查看防火墙已经开放的端口
[root@myhost ~]#  firewall-cmd --list-services                    #查看防火墙开放的服务
dhcpv6-client ssh
#httpd服务默认的端口是80,防火墙允许80/tcp端口访问 
[root@myhost ~]#  firewall-cmd --zone=public --permanent --add-port=80/tcp
success
[root@myhost ~]#  firewall-cmd --reload                                       	#重新加载防火墙配置
success 
[root@myhost ~]#  setenforce 0  &&    getenforce
Permissive
[root@myhost ~]#  sed -i  "s/SELINUX=enforcing/SELINUX=disabled/g"  /etc/sysconfig/selinux 

四、安装RabbitMQ所需要的依赖软件

RabbitMQ是用Erlang语言编写的,在安装RabbitMQ 服务器之前需要安装 erlang软件。 erlang软件在默认的yum存储库中不可用,因此需要先安装epel存储库以及更新基本系统。

另外,安装RabbitMQ版本不同,需要erlang 依赖软件版本也不同。直接用yum install -y erlang命令安装的erlang可能版本比较低,不能够支持安装RabbitMQ。因此,我们可以下载高版本erlang软件的rpm包进行安装。

4.1 第一种方法:直接用 yum命令安装erlang
[root@myhost ~]# yum -y install epel-release && yum -y update

更新系统后,进一步安装 erlang和socat软件。

[root@myhost ~]# yum -y install erlang  socat

安装成功之后,查看erlang软件版本。

[root@myhost ~]# erl -version
Erlang (SMP,ASYNC_THREADS,HIPE) (BEAM) emulator version 5.10.4

要切换到Erlang shell,可以键入以下命令:

[root@myhost ~]# erl
Erlang R16B03-1 (erts-5.10.4) [source] [64-bit] [smp:4:4] [async-threads:10] [hipe] [kernel-poll:false]

Eshell V5.10.4  (abort with ^G)
1> 

可以通过按ctrl + C两次退出Erlang shell。

4.2 第二种方法:下载rpm包来安装erlang

因为上面yum安装过erlang软件,再次用rpm包安装会报错,所以先卸载原来用yum命令安装的erlang软件。

[root@myhost tools]# rpm -qa |grep erlang 
...
...
...

[root@myhost tools]# rpm -qa |grep erlang |xargs rpm -e
[root@myhost tools]# rpm -qa |grep erlang 

现在,可以通过rpm包安来装erlang软件了。

erlang-21.3.8.21 版本的下载地址

[root@myhost ~]# cd /home/tools/
[root@myhost tools]# ll
总用量 0
[root@myhost tools]# wget --content-disposition https://packagecloud.io/rabbitmq/erlang/packages/el/7/erlang-21.3.8.21-1.el7.x86_64.rpm/download.rpm

[root@myhost tools]# ll
总用量 18576
-rw-r--r--. 1 root root 19017740 221 01:54 erlang-21.3.8.21-1.el7.x86_64.rpm
[root@myhost tools]# 
[root@myhost tools]# rpm -ivh erlang-21.3.8.21-1.el7.x86_64.rpm
警告:erlang-21.3.8.21-1.el7.x86_64.rpm: 头V4 RSA/SHA1 Signature, 密钥 ID 6026dfca: NOKEY
准备中...                          ################################# [100%]
正在升级/安装...
   1:erlang-21.3.8.21-1.el7           ################################# [100%]
[root@myhost tools]# rpm -qa |grep erlang 
erlang-21.3.8.21-1.el7.x86_64
[root@myhost tools]# erl -version
Erlang (SMP,ASYNC_THREADS,HIPE) (BEAM) emulator version 10.3.5.16

Erlang现在以及安装在系统上,现在可以继续安装RabbitMQ。

五、安装RabbitMQ软件

RabbitMQ为预编译并可以直接安装的企业Linux系统提供RPM软件包。

5.1 下载RabbitMQ软件需要版本的rpm包

RabbitMQ3.8.0 版本的下载地址

[root@myhost tools]#  wget https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.8.0/rabbitmq-server-3.8.0-1.el7.noarch.rpm

[root@myhost tools]# ll
总用量 30356
-rw-r--r--. 1 root root 19017740 221 01:54 erlang-21.3.8.21-1.el7.x86_64.rpm
-rw-r--r--. 1 root root 12061353 101 2019 rabbitmq-server-3.8.0-1.el7.noarch.rpm
5.2 将rpm包安装需要的Key 导入
rpm --import https://www.rabbitmq.com/rabbitmq-release-signing-key.asc
5.3 安装RabbitMQ
[root@myhost tools]# yum localinstall -y rabbitmq-server-3.8.0-1.el7.noarch.rpm
[root@myhost tools]# rpm -qa |grep rabbitmq
rabbitmq-server-3.8.0-1.el7.noarch
5.4 加入开机自启动
systemctl enable rabbitmq-server
5.5 启动/停止/重启/并查看运行状态
systemctl start rabbitmq-server

systemctl stop rabbitmq-server

systemctl restart rabbitmq-server

systemctl status rabbitmq-server
5.6 RabbitMQ 防火墙配置

RabbitMQ 的运行需要一系列的端口。因此你需要配置你的防火墙将下面的端口打开。Centos7一般使用的是 firewalld,那么请依次执行下面的命令。

firewall-cmd --zone=public --permanent --add-port=4369/tcp && firewall-cmd --reload

firewall-cmd --zone=public --permanent --add-port=25672/tcp && firewall-cmd --reload

firewall-cmd --zone=public --permanent --add-port=5671-5672/tcp && firewall-cmd --reload

firewall-cmd --zone=public --permanent --add-port=15672/tcp && firewall-cmd --reload

firewall-cmd --zone=public --permanent --add-port=61613-61614/tcp && firewall-cmd --reload

firewall-cmd --zone=public --permanent --add-port=1883/tcp && firewall-cmd --reload

firewall-cmd --zone=public --permanent --add-port=8883/tcp && firewall-cmd --reload && firewall-cmd --list-ports

注意: 如果服务器启用了 SELinux,还需要执行下面的命令来让RabbitMQ 服务器能够接收发送网络数据。

setsebool -P nis_enabled 1
5.7 启用RabbitMQ 的Web管理界面

在默认的情况下 RabbitMQ 的 Web 管理控制台是没有启用的,需要先安装 Web 管理界面的插件。

[root@myhost tools]# rabbitmq-plugins enable rabbitmq_management
Enabling plugins on node rabbit@myhost:
rabbitmq_management
The following plugins have been configured:
  rabbitmq_management
  rabbitmq_management_agent
  rabbitmq_web_dispatch
Applying plugin configuration to rabbit@myhost...
The following plugins have been enabled:
  rabbitmq_management
  rabbitmq_management_agent
  rabbitmq_web_dispatch

started 3 plugins.
5.8 提供 RabbitMQ 用户和对用户使用的权限进行赋权
[root@myhost tools]# chown -R rabbitmq:rabbitmq /var/lib/rabbitmq/
5.8 创建一个 web管理端用户admin,密码为admin 且用户标签备注为administrator
[root@myhost tools]# rabbitmqctl add_user admin admin
Adding user "admin" ...
[root@myhost tools]# rabbitmqctl set_user_tags admin administrator
Setting tags for user "admin" to [administrator] ...
5.9 针对刚刚创建的 admin 用户进行赋权
[root@myhost tools]# rabbitmqctl set_permissions -p / admin ".*" ".*" ".*"
Setting permissions for user "admin" in vhost "/" ...
5.10 重启RabbitMQ并访问RabbitMQ 的Web管理界面
[root@myhost tools]# systemctl restart rabbitmq-server

RabbitMQ 的Web管理界面使用的http端口是 15672,浏览器访问地址:http://192.168.2.55:15672/,如果一切正常,你应该能够看到下面的登录界面:
在这里插入图片描述
输入前面创建的admin用户,密码为admin(可以在web页面再进行修改),登录后,将看到管理信息中心。
在这里插入图片描述
可以在仪表板的“ 管理”标签中找到用户列表,虚拟主机和策略。 您应该删除访客用户的安全注意事项。
在这里插入图片描述
可以在“ 队列”选项卡中找到消息队列列表。
可以通过此界面创建新队列或删除现有队列。
可以在“ 连接”选项卡上找到当前连接的列表。
同样,可以在各自的选项卡上找到渠道和交换。
可以轻松地在进程,服务器和客户端之间安装RabbitMQ进行消息排队。
要了解有关RabbitMQ的更多信息,可以浏览RabbitMQ站点。

5.11 修改管理员密码
[root@myhost tools]# rabbitmqctl add_user admin 新密码
Changing password for user "admin" ...
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值