查看“RabbitMQ:安装部署”的源代码
←
RabbitMQ:安装部署
跳到导航
跳到搜索
因为以下原因,您没有权限编辑本页:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
[[category:RabbitMQ]] == 关于 == RabbitMQ 快速搭建开发环境,因为 RabbitMQ 使用 Erlang 开发,常规方式安装需要先安装 '''Erlang''',再安装 RabbitMQ 比较麻烦,所以这里推荐使用 '''Docker''' 方式部署,一条命令搞定。 == CentOS 安装 == 两种方法可以在 RPM 发行版上安装 RabbitMQ 的最新版本:【转自官网: https://www.rabbitmq.com/install-rpm.html】 # '''在线安装''':使用 [https://www.rabbitmq.com/install-rpm.html#cloudsmith Cloudsmith.io] 或 [https://www.rabbitmq.com/install-rpm.html#package-cloud PackageCloud] 上的 Yum 存储库安装包。(强烈建议使用此选项) # '''离线安装''':下载软件包并用 rpm 安装。(需要手动安装所有包依赖项) * RabbitMQ RPM 包需要 '''sudo''' 权限才能安装和管理。在 sudo 不可用的环境中,可以考虑使用通用二进制构建。 === 在线安装:使用 Cloudsmith 上的 YUM 库 === ---- Cloudsmith 提供了带有 RabbitMQ 包的Yum存储库,还可以通过 yum 安装最新的 Erlang 版本。 ==== 安装Yum存储库文件 ==== 设置存储库的一种快速方法是使用 Cloudsmith 提供的'''脚本''': : 【这不是必须的,但是可以考虑使用,因为它将生成的脚本从公共互联网传输到特定的shell】 : <syntaxhighlight lang="bash" highlight=""> ## Uses a Cloudsmith-provided Yum repository setup script. ## Always verify what is downloaded before piping it to a privileged shell! curl -1sLf 'https://dl.cloudsmith.io/public/rabbitmq/rabbitmq-erlang/setup.rpm.sh' | sudo -E bash </syntaxhighlight> 传统的库文件安装方式:【使用上述的命令,可以替代以下步骤】 # Yum 将验证其安装的任何包的签名,因此该过程的第一步是导入签名密钥: #: <syntaxhighlight lang="bash" highlight=""> ## primary RabbitMQ signing key rpm --import https://github.com/rabbitmq/signing-keys/releases/download/2.0/rabbitmq-release-signing-key.asc ## modern Erlang repository rpm --import 'https://dl.cloudsmith.io/public/rabbitmq/rabbitmq-erlang/gpg.E495BB49CC4BBE5B.key' ## RabbitMQ server repository rpm --import 'https://dl.cloudsmith.io/public/rabbitmq/rabbitmq-server/gpg.9F4587F226208342.key' </syntaxhighlight> # 为 RabbitMQ 和 Modern Erlang 添加 Yum 存储库: #: 为了使用Yum存储库,必须在 '''/etc/Yum.repos.d/''' 目录下添加一个 '''.repo''' 文件(例如“rabbitmq.repo”): #: 【.repo 文件根据发行版不同而略有差异,以 CentOS 7 为例】 #: <syntaxhighlight lang="bash" highlight=""> # In /etc/yum.repos.d/rabbitmq.repo [rabbitmq_erlang] name=rabbitmq_erlang baseurl=https://dl.cloudsmith.io/public/rabbitmq/rabbitmq-erlang/rpm/el/7/$basearch repo_gpgcheck=1 enabled=1 # Cloudsmith's repository key and RabbitMQ package signing key gpgkey=https://dl.cloudsmith.io/public/rabbitmq/rabbitmq-erlang/gpg.E495BB49CC4BBE5B.key https://github.com/rabbitmq/signing-keys/releases/download/2.0/rabbitmq-release-signing-key.asc gpgcheck=1 sslverify=1 sslcacert=/etc/pki/tls/certs/ca-bundle.crt metadata_expire=300 pkg_gpgcheck=1 autorefresh=1 type=rpm-md [rabbitmq_erlang-noarch] name=rabbitmq_erlang-noarch baseurl=https://dl.cloudsmith.io/public/rabbitmq/rabbitmq-erlang/rpm/el/7/noarch repo_gpgcheck=1 enabled=1 # Cloudsmith's repository key and RabbitMQ package signing key gpgkey=https://dl.cloudsmith.io/public/rabbitmq/rabbitmq-erlang/gpg.E495BB49CC4BBE5B.key https://github.com/rabbitmq/signing-keys/releases/download/2.0/rabbitmq-release-signing-key.asc gpgcheck=1 sslverify=1 sslcacert=/etc/pki/tls/certs/ca-bundle.crt metadata_expire=300 pkg_gpgcheck=1 autorefresh=1 type=rpm-md [rabbitmq_erlang-source] name=rabbitmq_erlang-source baseurl=https://dl.cloudsmith.io/public/rabbitmq/rabbitmq-erlang/rpm/el/7/SRPMS repo_gpgcheck=1 enabled=1 gpgkey=https://dl.cloudsmith.io/public/rabbitmq/rabbitmq-erlang/gpg.E495BB49CC4BBE5B.key gpgcheck=0 sslverify=1 sslcacert=/etc/pki/tls/certs/ca-bundle.crt metadata_expire=300 pkg_gpgcheck=1 autorefresh=1 type=rpm-md ## ## RabbitMQ server ## [rabbitmq-server] name=rabbitmq_server baseurl=https://dl.cloudsmith.io/public/rabbitmq/rabbitmq-server/rpm/el/7/$basearch repo_gpgcheck=1 enabled=1 # Cloudsmith's repository key and RabbitMQ package signing key gpgkey=https://dl.cloudsmith.io/public/rabbitmq/rabbitmq-server/gpg.9F4587F226208342.key https://github.com/rabbitmq/signing-keys/releases/download/2.0/rabbitmq-release-signing-key.asc gpgcheck=1 sslverify=1 sslcacert=/etc/pki/tls/certs/ca-bundle.crt metadata_expire=300 pkg_gpgcheck=1 autorefresh=1 type=rpm-md [rabbitmq_server-noarch] name=rabbitmq_server-noarch baseurl=https://dl.cloudsmith.io/public/rabbitmq/rabbitmq-server/rpm/el/7/noarch repo_gpgcheck=1 enabled=1 # Cloudsmith's repository key and RabbitMQ package signing key gpgkey=https://dl.cloudsmith.io/public/rabbitmq/rabbitmq-server/gpg.9F4587F226208342.key https://github.com/rabbitmq/signing-keys/releases/download/2.0/rabbitmq-release-signing-key.asc gpgcheck=1 sslverify=1 sslcacert=/etc/pki/tls/certs/ca-bundle.crt metadata_expire=300 pkg_gpgcheck=1 autorefresh=1 type=rpm-md [rabbitmq_server-source] name=rabbitmq_server-source baseurl=https://dl.cloudsmith.io/public/rabbitmq/rabbitmq-server/rpm/el/7/SRPMS repo_gpgcheck=1 enabled=1 gpgkey=https://dl.cloudsmith.io/public/rabbitmq/rabbitmq-server/gpg.9F4587F226208342.key gpgcheck=0 sslverify=1 sslcacert=/etc/pki/tls/certs/ca-bundle.crt metadata_expire=300 pkg_gpgcheck=1 autorefresh=1 type=rpm-md </syntaxhighlight> ==== 用Yum安装包 ==== 【操作根据发行版不同而略有差异,以 CentOS 7 为例】 # 更新 Yum 软件包元数据: #: <syntaxhighlight lang="bash" highlight=""> yum update -y </syntaxhighlight> # 然后安装软件包: #: <syntaxhighlight lang="bash" highlight=""> yum install socat logrotate -y yum install erlang rabbitmq-server -y </syntaxhighlight> #* logrotate 程序是一个日志文件管理工具。用于分割日志文件,删除旧的日志文件,并创建新的日志文件,起到“转储”作用,可以节省磁盘空间。 === 在线安装:使用 PackageCloud 上的 YUM 库 === ---- PackageCloud 提供了包含 RabbitMQ 包的Yum存储库,也可以用于通过 yum 安装最新的 Erlang 版本。 使用示例:[https://blog.csdn.net/weixin_40584261/article/details/106826044 CSDN:Centos7安装RabbitMQ最新版3.8.5,史上最简单实用安装步骤] ==== 安装Yum存储库文件 ==== 设置存储库的一种快速方法是使用 PackageCloud 提供的'''脚本''': : 【这不是必须的,但是可以考虑使用,因为它将生成的脚本从公共互联网传输到特定的shell】 : <syntaxhighlight lang="bash" highlight=""> ## Uses a PackageCloud-provided Yum repository setup script. ## Always verify what is downloaded before piping it to a privileged shell! curl -s https://packagecloud.io/install/repositories/rabbitmq/rabbitmq-server/script.rpm.sh | sudo bash </syntaxhighlight> 传统的库文件安装方式:【使用上述的命令,可以替代以下步骤】 # Yum 将验证其安装的任何包的签名,因此该过程的第一步是导入签名密钥: #: <syntaxhighlight lang="bash" highlight=""> ## primary RabbitMQ signing key rpm --import https://github.com/rabbitmq/signing-keys/releases/download/2.0/rabbitmq-release-signing-key.asc ## modern Erlang repository rpm --import https://packagecloud.io/rabbitmq/erlang/gpgkey ## RabbitMQ server repository rpm --import https://packagecloud.io/rabbitmq/rabbitmq-server/gpgkey </syntaxhighlight> # 为 RabbitMQ 和 Modern Erlang 添加 Yum 存储库: #: 为了使用Yum存储库,必须在 '''/etc/Yum.repos.d/''' 目录下添加一个 '''.repo''' 文件(例如“rabbitmq.repo”): #: 【.repo 文件根据发行版不同而略有差异,以 CentOS 7 为例】 #: <syntaxhighlight lang="bash" highlight=""> # In /etc/yum.repos.d/rabbitmq.repo ## ## Zero dependency Erlang ## [rabbitmq_erlang] name=rabbitmq_erlang baseurl=https://packagecloud.io/rabbitmq/erlang/el/7/$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/7/SRPMS repo_gpgcheck=1 gpgcheck=0 enabled=1 gpgkey=https://packagecloud.io/rabbitmq/erlang/gpgkey 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/7/$basearch repo_gpgcheck=1 gpgcheck=1 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/7/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 </syntaxhighlight> ==== 用Yum安装包 ==== 【操作根据发行版不同而略有差异,以 CentOS 7 为例】 # 更新 Yum 软件包元数据: #: <syntaxhighlight lang="bash" highlight=""> yum update -y </syntaxhighlight> # 然后安装软件包: #: <syntaxhighlight lang="bash" highlight=""> ## install these dependencies from standard OS repositories yum install socat logrotate -y yum install --repo rabbitmq_erlang --repo rabbitmq_server erlang rabbitmq-server -y </syntaxhighlight> #* logrotate 程序是一个日志文件管理工具。用于分割日志文件,删除旧的日志文件,并创建新的日志文件,起到“转储”作用,可以节省磁盘空间。 === 离线安装 === ---- 离线安装的最大问题就是需要自行解决依赖项,以及选择兼容的版本。 注意: * RabbitMQ 依赖于 '''Erlang''',而 Erlang 内存管理依赖 '''Socat''',因此要首先安装 Erlang 与 socat; * Erlang 与 RabbitMQ 版本需要兼容,可以在“'''[https://www.rabbitmq.com/which-erlang.html https://www.rabbitmq.com/which-erlang.html]'''”查看。 * 离线安装的包,可以自行下载然后上传到服务器,也可以通过服务器的 '''wget''' 工具直接下载: *# '''rabbitmq-server包'''下载地址:“'''[https://github.com/rabbitmq/rabbitmq-server/releases https://github.com/rabbitmq/rabbitmq-server/releases]'''” *# '''erlang包'''下载地址:“'''[https://github.com/rabbitmq/erlang-rpm/releases https://github.com/rabbitmq/erlang-rpm/releases]'''” *# '''socat包'''下载地址:“'''[https://pkgs.org/download/socat https://pkgs.org/download/socat]'''” 【socat 使用 yum 安装最新版本即可】 * 对于基于RPM的发行版,现代 Erlang 提供了三种替代来源:(Erlang 在默认的 yum 存储库中不可用) *# '''RabbitMQ团队''':只提供运行 RabbitMQ 所需的组件,官方称'''零依赖项''',容易安装。【如果Erlang只是用来提供运行RabbitMQ的,推荐使用】 *# '''Erlang官方''':通常是相当最新的,并且涉及潜在的过多依赖关系列表的安装。【如果还需要Erlang做相关开发或运行环境,可选择使用】 *# '''EPEL源''':这些版本通常已经过时,不能用于运行最新的 RabbitMQ 版本。【不推荐】 *#* P.S.:如果要使用 EPEL 存储库,需要通过 yum 安装先安装 EPEL 存储库: *#*: <syntaxhighlight lang="bash" highlight=""> # 先安装epel存储库 yum -y install epel-release # 再安装 Erlang、socat yum -y install erlang socat </syntaxhighlight> 步骤如下:【参照 Erlang 与 RabbitMQ 版本要求,以“erlang-23.3.1-1.el7.x86_64.rpm”与“rabbitmq-server-3.8.14-1.el7.noarch.rpm”为例】 # 安装 Erlang: #: <syntaxhighlight lang="bash" highlight=""> wget https://github.com/rabbitmq/erlang-rpm/releases/download/v23.3.1/erlang-23.3.1-1.el7.x86_64.rpm rpm -ivh erlang-23.3.1-1.el7.x86_64.rpm </syntaxhighlight> #: 查看 Erlang 版本: #: <syntaxhighlight lang="bash" highlight=""> erl -version </syntaxhighlight> # 安装 Socat: #: <syntaxhighlight lang="bash" highlight=""> wget http://mirror.centos.org/centos/7/os/x86_64/Packages/socat-1.7.3.2-2.el7.x86_64.rpm rpm -ivh socat-1.7.3.2-2.el7.x86_64.rpm # 或者: yum install socat </syntaxhighlight> # 安装 RabbitMQ: #: <syntaxhighlight lang="bash" highlight=""> # 首先导入密钥 rpm -import https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.8.14/rabbitmq-server-3.8.14-1.el7.noarch.rpm.asc # 下载、安装 wget https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.8.14/rabbitmq-server-3.8.14-1.el7.noarch.rpm rpm -ivh rabbitmq-server-3.8.14-1.el7.noarch.rpm </syntaxhighlight> === 启动 === <syntaxhighlight lang="bash" highlight=""> #启动服务 systemctl start rabbitmq-server #查看状态 systemctl status rabbitmq-server #设置为开机启动 systemctl enable rabbitmq-server </syntaxhighlight> == Docker方式部署 == 可以到docker官方镜像仓库找最新版本:'''[https://hub.docker.com/_/rabbitmq https://hub.docker.com/_/rabbitmq]''' === 安装 === <syntaxhighlight lang="bash" highlight=""> docker run -d --name rabbitmq -p 5672:5672 -p 15672:15672 rabbitmq:3-management </syntaxhighlight> 其中: * 下载并且启动了一个 rabbitmq 容器实例; * 开放了两个端口:5672(代码访问使用)和 15672(管理后台使用); * 使用的是 3-management 版本; === 容器维护 === # 关闭 RabbitMQ 容器: #: <syntaxhighlight lang="bash" highlight=""> docker stop rabbitmq </syntaxhighlight> # 启动 RabbitMQ 容器: #: <syntaxhighlight lang="bash" highlight=""> docker start rabbitmq </syntaxhighlight> == 管理后台 == RabbitMQ提供了一个可视化的Web后台,方便了解队列的运行情况,也可以对RabbitMQ做一些管理操作。 访问 RabbitMQ 管理后台地址:[http://localhost:15672/ http://localhost:15672/] : [[File:RabbitMQ:管理后台.png|600px]] * 默认账号和密码:guest / guest === 后台首页 === : [[File:RabbitMQ:管理后台:后台首页.png|600px]] === 客户端连接情况 === : [[File:RabbitMQ:管理后台:客户端连接情况.png|600px]] === 交换机情况 === : [[File:RabbitMQ:管理后台:交换机情况.png|600px]] === 队列情况 === : [[File:RabbitMQ:管理后台:队列情况.png|600px]] === 队列详情 === : [[File:RabbitMQ:管理后台:队列详情.png|600px]]
返回至“
RabbitMQ:安装部署
”。
导航菜单
个人工具
登录
命名空间
页面
讨论
大陆简体
已展开
已折叠
查看
阅读
查看源代码
查看历史
更多
已展开
已折叠
搜索
导航
首页
最近更改
随机页面
MediaWiki帮助
笔记
服务器
数据库
后端
前端
工具
《To do list》
日常
阅读
电影
摄影
其他
Software
Windows
WIKIOE
所有分类
所有页面
侧边栏
站点日志
工具
链入页面
相关更改
特殊页面
页面信息