CentOS 7 安装 RabbitMQ 环境

本贴最后更新于 1622 天前,其中的信息可能已经天翻地覆

1 Erlang 安装 (22.3.4.1 版本)

1.1 在线安装

这里选用的 Erlang 是 rabbitMQ 官方提供的精简包,只有 rabbitMQ 运行所必须的环境

1.1.1 配置软件仓库和签名密钥

vi /etc/yum.repos.d/rabbitmq-erlang.repo

To use Erlang 22.x on CentOS 7:

[rabbitmq-erlang]
name=rabbitmq-erlang
baseurl=https://dl.bintray.com/rabbitmq-erlang/rpm/erlang/22/el/7
gpgcheck=1
gpgkey=https://dl.bintray.com/rabbitmq/Keys/rabbitmq-release-signing-key.asc
repo_gpgcheck=0
enabled=1

To use Erlang 22.x on CentOS 8:

[rabbitmq-erlang]
name=rabbitmq-erlang
baseurl=https://dl.bintray.com/rabbitmq-erlang/rpm/erlang/22/el/8
gpgcheck=1
gpgkey=https://dl.bintray.com/rabbitmq/Keys/rabbitmq-release-signing-key.asc
repo_gpgcheck=0
enabled=1

1.1.2 安装

yum install erlang

来自:https://github.com/rabbitmq/erlang-rpm 的 readme.md

1.2 离线安装

1.2.1 准备

下载需要的密钥和对应的安装包

密钥下载地址:https://dl.bintray.com/rabbitmq/Keys/rabbitmq-release-signing-key.asc

安装包下载地址:https://github.com/rabbitmq/erlang-rpm/releases/download/v22.3.4.1/erlang-22.3.4.1-1.el7.x86_64.rpm

上传到服务器,进入到目录,这里上传到 /usr 目录

cd /usr

1.2.2 配置密钥

sudo rpm --import rabbitmq-release-signing-key.asc

1.2.3 安装

rpm -ivh erlang-22.3.4.1-1.el7.x86_64.rpm

1.3 验证

显示版本号,并进入控制台,即成功。

erl

退出,“.”不能忘记

halt().

2 安装 RabbitMQ (3.8.4 版本)

2.1 在线安装

2.1.1 导入签名密钥

sudo rpm --import https://github.com/rabbitmq/signing-keys/releases/download/2.0/rabbitmq-release-signing-key.asc

2.1.2 配置软件仓库

/etc/yum.repos. 目录下添加.repo 文件(例如 rabbitmq.repo),在文件中添加以下内容,并保存

vi /etc/yum.repos.d/rabbitmq.repo

The following example sets up a repository that will install RabbitMQ 3.8 and targets CentOS 8:

[bintray-rabbitmq-server]
name=bintray-rabbitmq-rpm
baseurl=https://dl.bintray.com/rabbitmq/rpm/rabbitmq-server/v3.8.x/el/8/
gpgcheck=0
repo_gpgcheck=0
enabled=1

On CentOS 7 the baseurl line would be slightly different:

[bintray-rabbitmq-server]
name=bintray-rabbitmq-rpm
baseurl=https://dl.bintray.com/rabbitmq/rpm/rabbitmq-server/v3.8.x/el/7/
gpgcheck=0
repo_gpgcheck=0
enabled=1

2.1.3 安装

https://dl.bintray.com/rabbitmq/rpm/rabbitmq-server 中查找对应的版本,这里使用的是 CentOS 7 ,所以安装地址是:

https://dl.bintray.com/rabbitmq/rpm/rabbitmq-server/v3.8.x/el/7/noarch/rabbitmq-server-3.8.4-1.el7.noarch.rpm

yum install https://dl.bintray.com/rabbitmq/rpm/rabbitmq-server/v3.8.x/el/7/noarch/rabbitmq-server-3.8.4-1.el7.noarch.rpm

2.2 离线安装

2.2.1 准备

下载对应的安装包(若选用离线,密钥在安装 erlang 的时候已经配置过,故这里可不再次配置)

rabbitmq 以及其依赖包

socat 下载地址:http://mirror.centos.org/centos/7/os/x86_64/Packages/socat-1.7.3.2-2.el7.x86_64.rpm

rabbitmq 下载地址:https://dl.bintray.com/rabbitmq/rpm/rabbitmq-server/v3.8.x/el/7/noarch/rabbitmq-server-3.8.4-1.el7.noarch.rpm

2.2.2 安装

将下载的安装包上传服务器,这里上传到 /usr 目录

cd /usr

rpm -ivh socat-1.7.3.2-2.el7.x86_64.rpm

rpm -ivh rabbitmq-server-3.8.4-1.el7.noarch.rpm

2.3 安装路径

默认是:/usr/lib/rabbitmq

whereis rabbitmq

2.4 开启守护进程

使用 rpm 安装,默认是关闭守护进程的,需要开启

chkconfig rabbitmq-server on

2.5 启动/停止

# start it back
service rabbitmq-server start

# stop the local node
service rabbitmq-server stop

# check on service status as observed by service manager
service rabbitmq-server status

2.6 放行端口

systemctl status firewalld

firewall-cmd --list-ports

firewall-cmd --zone=public --add-port=5672/tcp --permanent
firewall-cmd --zone=public --add-port=15672/tcp --permanent
firewall-cmd --zone=public --add-port=15674-15675/tcp --permanent
firewall-cmd --zone=public --add-port=1883/tcp --permanent

firewall-cmd --reload

2.7 用户管理

查看所有用户

rabbitmqctl list_users

添加一个用户

rabbitmqctl add_user admin 123456

配置权限

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

查看用户权限

rabbitmqctl list_user_permissions admin 

设置 tag

rabbitmqctl set_user_tags admin administrator 

删除用户(安全起见,删除默认用户)

rabbitmqctl delete_user guest

重启即可用新账号登录

2.8 启用插件

2.8.1 Web 管理

rabbitmq-plugins enable rabbitmq_management

访问:http://{ip}:15672/

默认账号密码:guest guest(这个账号只允许本机访问)

2.8.2 MQTT

启动 MQTT 插件

rabbitmq-plugins enable rabbitmq_mqtt

创建账号

rabbitmqctl add_user mqtt-user mqtt-password
rabbitmqctl set_permissions -p / mqtt-user ".*" ".*" ".*"
rabbitmqctl set_user_tags mqtt-user management

具体可查看:https://www.rabbitmq.com/mqtt.html

2.8.3 Web STOMP

rabbitmq-plugins enable rabbitmq_web_stomp

具体可查看:https://www.rabbitmq.com/web-stomp.html

2.8.4 Web MQTT

rabbitmq-plugins enable rabbitmq_web_mqtt

具体可查看:https://www.rabbitmq.com/web-mqtt.html

2.8.5 TRACING

rabbitmq-plugins enable rabbitmq_tracing

消息记录追踪插件

  • CentOS

    CentOS(Community Enterprise Operating System)是 Linux 发行版之一,它是来自于 Red Hat Enterprise Linux 依照开放源代码规定释出的源代码所编译而成。由于出自同样的源代码,因此有些要求高度稳定的服务器以 CentOS 替代商业版的 Red Hat Enterprise Linux 使用。两者的不同在于 CentOS 并不包含封闭源代码软件。

    238 引用 • 224 回帖
  • RabbitMQ

    RabbitMQ 是一个开源的 AMQP 实现,服务器端用 Erlang 语言编写,支持多种语言客户端,如:Python、Ruby、.NET、Java、C、PHP、ActionScript 等。用于在分布式系统中存储转发消息,在易用性、扩展性、高可用性等方面表现不俗。

    49 引用 • 60 回帖 • 362 关注
  • RPM
    3 引用

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...