代码改变世界

Ubuntu 22.04.1 LTS 安装RabbitMQ

2023-04-25 15:19  猎手家园  阅读(3783)  评论(0)    收藏  举报

一、下载安装包

下载地址:Downloading and Installing RabbitMQ — RabbitMQ

其实官方给了一个安装脚本,一步一步执行就可以了。

直通车:Installing on Debian and Ubuntu — RabbitMQ

或者直接下载shell文件(ubuntu24.04):

查看服务器版本命令:lsb_release -a

一定要按照版本选择安装脚本!!!

#!/bin/sh

sudo apt-get install curl gnupg apt-transport-https -y

## Team RabbitMQ's main signing key
curl -1sLf "https://keys.openpgp.org/vks/v1/by-fingerprint/0A9AF2115F4687BD29803A206B73A36E6026DFCA" | sudo gpg --dearmor | sudo tee /usr/share/keyrings/com.rabbitmq.team.gpg > /dev/null
## Community mirror of Cloudsmith: modern Erlang repository
curl -1sLf https://github.com/rabbitmq/signing-keys/releases/download/3.0/cloudsmith.rabbitmq-erlang.E495BB49CC4BBE5B.key | sudo gpg --dearmor | sudo tee /usr/share/keyrings/rabbitmq.E495BB49CC4BBE5B.gpg > /dev/null
## Community mirror of Cloudsmith: RabbitMQ repository
curl -1sLf https://github.com/rabbitmq/signing-keys/releases/download/3.0/cloudsmith.rabbitmq-server.9F4587F226208342.key | sudo gpg --dearmor | sudo tee /usr/share/keyrings/rabbitmq.9F4587F226208342.gpg > /dev/null

## Add apt repositories maintained by Team RabbitMQ
sudo tee /etc/apt/sources.list.d/rabbitmq.list <<EOF
## Provides modern Erlang/OTP releases
##
deb [arch=amd64 signed-by=/usr/share/keyrings/rabbitmq.E495BB49CC4BBE5B.gpg] https://ppa1.rabbitmq.com/rabbitmq/rabbitmq-erlang/deb/ubuntu noble main
deb-src [signed-by=/usr/share/keyrings/rabbitmq.E495BB49CC4BBE5B.gpg] https://ppa1.rabbitmq.com/rabbitmq/rabbitmq-erlang/deb/ubuntu noble main

# another mirror for redundancy
deb [arch=amd64 signed-by=/usr/share/keyrings/rabbitmq.E495BB49CC4BBE5B.gpg] https://ppa2.rabbitmq.com/rabbitmq/rabbitmq-erlang/deb/ubuntu noble main
deb-src [signed-by=/usr/share/keyrings/rabbitmq.E495BB49CC4BBE5B.gpg] https://ppa2.rabbitmq.com/rabbitmq/rabbitmq-erlang/deb/ubuntu noble main

## Provides RabbitMQ
##
deb [arch=amd64 signed-by=/usr/share/keyrings/rabbitmq.9F4587F226208342.gpg] https://ppa1.rabbitmq.com/rabbitmq/rabbitmq-server/deb/ubuntu noble main
deb-src [signed-by=/usr/share/keyrings/rabbitmq.9F4587F226208342.gpg] https://ppa1.rabbitmq.com/rabbitmq/rabbitmq-server/deb/ubuntu noble main

# another mirror for redundancy
deb [arch=amd64 signed-by=/usr/share/keyrings/rabbitmq.9F4587F226208342.gpg] https://ppa2.rabbitmq.com/rabbitmq/rabbitmq-server/deb/ubuntu noble main
deb-src [signed-by=/usr/share/keyrings/rabbitmq.9F4587F226208342.gpg] https://ppa2.rabbitmq.com/rabbitmq/rabbitmq-server/deb/ubuntu noble main
EOF

## Update package indices
sudo apt-get update -y

## Install Erlang packages
sudo apt-get install -y erlang-base \
                        erlang-asn1 erlang-crypto erlang-eldap erlang-ftp erlang-inets \
                        erlang-mnesia erlang-os-mon erlang-parsetools erlang-public-key \
                        erlang-runtime-tools erlang-snmp erlang-ssl \
                        erlang-syntax-tools erlang-tftp erlang-tools erlang-xmerl

## Install rabbitmq-server and its dependencies
sudo apt-get install rabbitmq-server -y --fix-missing
View Code

 

二、开始安装

1、安装curl

curl 是一个非常实用的、用来与服务器之间传输数据的工具;支持的协议包括 (DICT, FILE, FTP, FTPS, GOPHER, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, POP3, POP3S, RTMP, RTSP, SCP, SFTP, SMTP, SMTPS, TELNET and TFTP),curl 设计为无用户交互下完成工作;curl 提供了一大堆非常有用的功能,包括代理访问、用户认证、ftp上传下载、HTTP POST、SSL连接、cookie支持、断点续传。

sudo apt-get install curl gnupg apt-transport-https -y

 

2、生成key

– GnuPG(简称GPG)是 PGP 标准的一个免费实现,无论是类UNIX平台还是Windows平台,都可以使用他。GPG能够帮助我们为文件生成签名、管理密码以及验证签名等。
– tee 的功能是从标准输入读取,再写入标准输出和文件。

## Team RabbitMQ's main signing key
curl -1sLf "https://keys.openpgp.org/vks/v1/by-fingerprint/0A9AF2115F4687BD29803A206B73A36E6026DFCA" | sudo gpg --dearmor | sudo tee /usr/share/keyrings/com.rabbitmq.team.gpg > /dev/null
## Cloudsmith: modern Erlang repository
curl -1sLf https://dl.cloudsmith.io/public/rabbitmq/rabbitmq-erlang/gpg.E495BB49CC4BBE5B.key | sudo gpg --dearmor | sudo tee /usr/share/keyrings/io.cloudsmith.rabbitmq.E495BB49CC4BBE5B.gpg > /dev/null
## Cloudsmith: RabbitMQ repository
curl -1sLf https://dl.cloudsmith.io/public/rabbitmq/rabbitmq-server/gpg.9F4587F226208342.key | sudo gpg --dearmor | sudo tee /usr/share/keyrings/io.cloudsmith.rabbitmq.9F4587F226208342.gpg > /dev/null

 

3、添加RabbitMQ仓库,并更新源

## Add apt repositories maintained by Team RabbitMQ
sudo tee /etc/apt/sources.list.d/rabbitmq.list <<EOF
## Provides modern Erlang/OTP releases
##
deb [signed-by=/usr/share/keyrings/io.cloudsmith.rabbitmq.E495BB49CC4BBE5B.gpg] https://dl.cloudsmith.io/public/rabbitmq/rabbitmq-erlang/deb/ubuntu bionic main
deb-src [signed-by=/usr/share/keyrings/io.cloudsmith.rabbitmq.E495BB49CC4BBE5B.gpg] https://dl.cloudsmith.io/public/rabbitmq/rabbitmq-erlang/deb/ubuntu bionic main

## Provides RabbitMQ
##
deb [signed-by=/usr/share/keyrings/io.cloudsmith.rabbitmq.9F4587F226208342.gpg] https://dl.cloudsmith.io/public/rabbitmq/rabbitmq-server/deb/ubuntu bionic main
deb-src [signed-by=/usr/share/keyrings/io.cloudsmith.rabbitmq.9F4587F226208342.gpg] https://dl.cloudsmith.io/public/rabbitmq/rabbitmq-server/deb/ubuntu bionic main
EOF

## Update package indices
sudo apt-get update -y

 

4、安装 Erlang、RabbitMQ

## Install Erlang packages
sudo apt-get install -y erlang-base \
                        erlang-asn1 erlang-crypto erlang-eldap erlang-ftp erlang-inets \
                        erlang-mnesia erlang-os-mon erlang-parsetools erlang-public-key \
                        erlang-runtime-tools erlang-snmp erlang-ssl \
                        erlang-syntax-tools erlang-tftp erlang-tools erlang-xmerl

## Install rabbitmq-server and its dependencies
sudo apt-get install rabbitmq-server -y --fix-missing

 

注意:安装 Erlang 时,如果因为 libssl 这个包过时安装不成功,需要自己手动安装

sudo apt-get install libssl1.1

 

至此安装完成!

 

三、RabbitMQ常用命令

# 启动 rabbitmq 服务
service rabbitmq-server start

# 关闭 rabbitmq 服务
service rabbitmq-server stop

# 重启 rabbitmq 服务
service rabbitmq-server restart

# 查看 rabbitmq 状态
service rabbitmq-server status

 

四、启用管理服务插件

启动rabbitmq之后要启动管理服务插件,否则15672管理页面无法登录

# 启用 rabbitmq_manager
sudo rabbitmq-plugins enable rabbitmq_management

创建 admin 用户

##设置账号密码
[root@rabbitmq1 ebin]# rabbitmqctl add_user admin 123456
Adding user "admin" ...
[root
@rabbitmq1 ebin]# rabbitmqctl set_permissions -p / admin ".*" ".*" ".*" Setting permissions for user "admin" in vhost "/" ...
[root
@rabbitmq1 ebin]# rabbitmqctl set_user_tags admin administrator Setting tags for user "admin" to [administrator] ...

 

五、然后就可以进入管理界面了

http://你的ip:15672

用户名:admin

密码:123456

 

六、解决web管理界面提示
⚠ All stable feature flags must be enabled after completing an upgrade. [Learn more]

1. 导航到特性标志页面:
在RabbitMQ管理界面的左侧菜单中,找到并点击“Admin”选项。
在“Admin”页面中,找到并点击“Feature Flags”选项。
2. 启用特性标志:
在“Feature Flags”页面中,你会看到一个列表,其中包含了所有可用的特性标志。
检查每个特性标志的状态,确保所有标记为“stable”(稳定)的特性标志都被启用。如果发现有未启用的稳定特性标志,请将其启用。

Feature Flags介绍:
官方文档:https://www.rabbitmq.com/docs/3.13/feature-flags
功能标记是一种机制,用于控制哪些功能在所有集群节点上被视为已启用或可用。如果启用了功能标记,则其相关功能(或行为)也会启用。如果没有启用,则集群中的所有节点都将禁用该功能(行为)。

功能标志子系统允许不同版本的 RabbitMQ 节点确定它们是否兼容,然后相互通信,尽管它们具有不同的版本,因此可能具有不同的功能集或实现细节。

引入此子系统是为了允许在不关闭整个集群的情况下对集群成员进行滚动升级。