1.安装yum仓库签名
1.1.导入签名lay:
## primary RabbitMQ signing key
## 这一步如果因为网络问题下载不成功,可以先将签名文件下载下来,本地导入
rpm --import https://github.com/rabbitmq/signing-keys/releases/download/2.0/rabbitmq-release-signing-key.asc
2.手动添加yum源
使用sudo
管理员命令新建文件vi /etc/yum.repos.d/rabbitmq.repo
,编辑如下内容:
# In /etc/yum.repos.d/rabbitmq.repo
##
## Zero dependency Erlang
##
[rabbitmq_erlang]
name=rabbitmq_erlang
baseurl=https://packagecloud.io/rabbitmq/erlang/el/8/$basearch
repo_gpgcheck=1
gpgcheck=1
enabled=1
# PackageCloud's repository key and RabbitMQ package signing key
gpgkey=https://packagecloud.io/rabbitmq/erlang/gpgkey
https://github.com/rabbitmq/signing-keys/releases/download/2.0/rabbitmq-release-signing-key.asc
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt
metadata_expire=300
[rabbitmq_erlang-source]
name=rabbitmq_erlang-source
baseurl=https://packagecloud.io/rabbitmq/erlang/el/8/SRPMS
repo_gpgcheck=1
gpgcheck=0
enabled=1
# PackageCloud's repository key and RabbitMQ package signing key
gpgkey=https://packagecloud.io/rabbitmq/erlang/gpgkey
https://github.com/rabbitmq/signing-keys/releases/download/2.0/rabbitmq-release-signing-key.asc
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt
metadata_expire=300
##
## RabbitMQ server
##
[rabbitmq_server]
name=rabbitmq_server
baseurl=https://packagecloud.io/rabbitmq/rabbitmq-server/el/8/$basearch
repo_gpgcheck=1
gpgcheck=0
enabled=1
# PackageCloud's repository key and RabbitMQ package signing key
gpgkey=https://packagecloud.io/rabbitmq/rabbitmq-server/gpgkey
https://github.com/rabbitmq/signing-keys/releases/download/2.0/rabbitmq-release-signing-key.asc
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt
metadata_expire=300
[rabbitmq_server-source]
name=rabbitmq_server-source
baseurl=https://packagecloud.io/rabbitmq/rabbitmq-server/el/8/SRPMS
repo_gpgcheck=1
gpgcheck=0
enabled=1
gpgkey=https://packagecloud.io/rabbitmq/rabbitmq-server/gpgkey
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt
metadata_expire=300
3.执行安装
更新yum源数据:
yum update -y
特别地,在CentOS 操作系统上安装时遇到无法从AppStream下载
问题,可以把/etc/yum.repos.d/
里面的文件全部删除 rm -rf xxx
然后在重新更新系统源 阿里源 在重新第二步开始
另外还要注意:CentOS 操作系统基础yum仓库文件的名字都是“CentOS-xxxx-.repo”,而不是标准的“CentOS-.repo”命名方式,所以修改的时候不要搞错文件。
3.1安装RabbitMQ依赖
## Basic dependence
## 基本依赖
yum -y install gcc glibc-devel make ncurses-devel openssl-devel xmlto perl wget
## install these dependencies from standard OS repositories
yum install socat logrotate -y
3.2安装Erlang和RabbitMQ
## install RabbitMQ and zero dependency Erlang from the above repositories,
## ignoring any versions provided by the standard repositories
yum install --repo rabbitmq_erlang --repo rabbitmq_server erlang rabbitmq-server -y
4.启用Web管理
RabbitMQ的Web管理界面是通过插件实现的,默认并不启用,所以在查看端口的时候也不会看到管理端口15672
在监听。
4.1.手动启用Web管理插件
## web
rabbitmq-plugins enable rabbitmq_management
4.2.查看插件列表状态
[root@VM-4-3-centos ~]# rabbitmq-plugins list
Listing plugins with pattern ".*" ...
Configured: E = explicitly enabled; e = implicitly enabled
| Status: * = running on rabbit@VM-4-3-centos
|/
[ ] rabbitmq_amqp1_0 3.10.7
[ ] rabbitmq_auth_backend_cache 3.10.7
[ ] rabbitmq_auth_backend_http 3.10.7
[ ] rabbitmq_auth_backend_ldap 3.10.7
[ ] rabbitmq_auth_backend_oauth2 3.10.7
[ ] rabbitmq_auth_mechanism_ssl 3.10.7
[ ] rabbitmq_consistent_hash_exchange 3.10.7
[ ] rabbitmq_event_exchange 3.10.7
[ ] rabbitmq_federation 3.10.7
[ ] rabbitmq_federation_management 3.10.7
[ ] rabbitmq_jms_topic_exchange 3.10.7
[E*] rabbitmq_management 3.10.7
[e*] rabbitmq_management_agent 3.10.7
[ ] rabbitmq_mqtt 3.10.7
[ ] rabbitmq_peer_discovery_aws 3.10.7
[ ] rabbitmq_peer_discovery_common 3.10.7
[ ] rabbitmq_peer_discovery_consul 3.10.7
[ ] rabbitmq_peer_discovery_etcd 3.10.7
[ ] rabbitmq_peer_discovery_k8s 3.10.7
[ ] rabbitmq_prometheus 3.10.7
[ ] rabbitmq_random_exchange 3.10.7
[ ] rabbitmq_recent_history_exchange 3.10.7
[ ] rabbitmq_sharding 3.10.7
[ ] rabbitmq_shovel 3.10.7
[ ] rabbitmq_shovel_management 3.10.7
[ ] rabbitmq_stomp 3.10.7
[ ] rabbitmq_stream 3.10.7
[ ] rabbitmq_stream_management 3.10.7
[ ] rabbitmq_top 3.10.7
[ ] rabbitmq_tracing 3.10.7
[ ] rabbitmq_trust_store 3.10.7
[e*] rabbitmq_web_dispatch 3.10.7
[ ] rabbitmq_web_mqtt 3.10.7
[ ] rabbitmq_web_mqtt_examples 3.10.7
[ ] rabbitmq_web_stomp 3.10.7
[ ] rabbitmq_web_stomp_examples 3.10.7
可以看到跟Web管理相关的插件都启用了。
至此,虽然RabbitMQ的Web管理插件已经启用,但是只能在通过本机地址打开Web界面,如果希望从远程访问Web界面(大多数场景就是这样的),还需要进行配置。
默认情况下,启动RabbitMQ Server是没有明确指定配置文件的,也就是我们无法修改允许远程访问Web管理界面的参数。我们可以添加一个用户
5.添加用户
## username :admin | password:admin
rabbitmqctl add_user admin admin
## Assign role rights to a user Super administrator
## 赋予用户角色权限 超级管理员(administrator)
rabbitmqctl set_user_tags admin administrator
## Open write and read permissions for all resources
## 开放所有资源的写权限和读权限
rabbitmqctl set_permissions -p / admin ".*" ".*" ".*"
最后启动服务
设置开机启动:
chkconfig rabbitmq-server on
启动服务:
# 启动服务
/sbin/service rabbitmq-server start
# 查看服务状态
/sbin/service rabbitmq-server status
# 停止服务
/sbin/service rabbitmq-server stop
查看服务端口是否已经正常:
netstat -anpt
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:25672 0.0.0.0:* LISTEN 84521/beam.smp
tcp6 0 0 :::5672 :::* LISTEN 84521/beam.smp