RabbitMQ-centOs 7安装

RabbitMQ

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

条件

最小CentOS 7服务器根权限 本指南以root用户身份编写,如果以sudo用户身份登录,请运行sudo -i 。

yum 安装

添加 repo 文件

添加 repo 文件到 /etc/yum.repos.d/rabbitmq.repo,repo 文件获取 脚本会自动创建 rabbitmq.repo 文件

什么是repo文件:
repo文件是Fedora中yum源(软件仓库)的配置文件,通常一个repo文件定义了一个或者多个软件仓库的细节内容,例如我们将从哪里下载需要安装或者升级的软件包,repo文件中的设置内容将被yum读取和应用!

curl -s https://packagecloud.io/install/repositories/rabbitmq/erlang/script.rpm.sh | sudo bash

复制一下内容覆盖到 rabbitmq.repo

# 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

如果你的服务无法链接 github,请修改本地 hosts文件进行访问,寻到最优 IP 解析结果。
hosts 文件获取
Linux 系统:/etc/hosts

更新 yum package metadata;

yum update -y

安装 packages

yum install socat logrotate -y
yum install erlang rabbitmq-server -y

您现在可以使用以下命令检查Erlang版本。

erl -version

您将得到以下输出。

[root@localhost core]# erl -version
Erlang (SMP,ASYNC_THREADS,HIPE) (BEAM) emulator version 11.2.2.7

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

erl

shell将更改,您将得到以下输出。

Erlang/OTP 23 [erts-11.2.2.7] [source] [64-bit] [smp:1:1] [ds:1:1:10] [async-threads:1] [hipe]

Eshell V11.2.2.7  (abort with ^G)
1> 

您可以通过按ctrl + C两次退出shell。 Erlang现在安装在系统上,现在可以继续安装RabbitMQ。

开始RabbitMQ

RabbitMQ 服务命令

查看服务文件 /usr/lib/systemd/system/rabbitmq-server.service

  1. 启动RabbitMQ服务器进程。
systemctl start rabbitmq-server
  1. 自动启动RabbitMQ 服务
systemctl enable rabbitmq-server
  1. 检查RabbitMQ服务器的状态
systemctl status rabbitmq-server
  1. 关闭自动启动RabbitMQ 服务
systemctl disable rabbitmq-server
  1. 关闭RabbitMQ服务器进程。
systemctl stop rabbitmq-server
  1. 重启RabbitMQ服务器进程。
systemctl restart rabbitmq-server

修改防火墙和SELinux规则

我的虚拟机上已经关闭防火墙,selinux,如果您已安装并运行防火墙,运行一下命令;

firewall-cmd –zone=public –permanent –add-port=4369/tcp
firewall-cmd –zone=public –permanent –add-port=25672/tcp
firewall-cmd –zone=public –permanent –add-port=5671-5672/tcp
firewall-cmd –zone=public –permanent –add-port=15672/tcp
firewall-cmd –zone=public –permanent –add-port=61613-61614/tcp
firewall-cmd –zone=public –permanent –add-port=1883/tcp
firewall-cmd –zone=public –permanent –add-port=8883/tcp
firewall-cmd –reload

如果您启用SELinux,则必须运行以下命令以允许RabbitMQ服务。

setsebool -P nis_enabled 1

访问Web控制台

启动RabbitMQ Web管理控制台

rabbitmq-plugins enable rabbitmq_management

通过运行以下命令,将RabbitMQ文件的所有权提供给RabbitMQ(admin)用户:

chown -R rabbitmq:rabbitmq /var/lib/rabbitmq/

现在,您将需要为RabbitMQ Web管理控制台创建管理用户.

rabbitmqctl add_user admin admin
rabbitmqctl set_user_tags admin administrator
rabbitmqctl set_permissions -p / admin ".*" ".*" ".*" 
systemctl restart rabbitmq-server 

将管理员更改为管理员用户的首选用户名。 确保将StrongPassword更改为非常强大的密码。
要访问RabbitMQ的管理面板,请使用您最喜爱的Web浏览器并打开以下URL。
http://Your_Server_IP:15672/
您将看到以下登录页面。

RabbitMQ相关命令

# 当前窗口启动 rabbitmq
rabbitmq-server
# 后台启动 rabbitmq
rabbitmq-server -detached
# 停止 rabbitmq
rabbitmqctl stop
# 查看所有队列
rabbitmqctl list_queues
# 查看所有虚拟主机
rabbitmqctl list_vhosts
# 在Erlang VM运行的情况下启动RabbitMQ应用
rabbitmqctl start_app 
rabbitmqctl stop_app
# 查看节点状态
rabbitmqctl status
# 查看所有可用的插件
rabbitmq-plugins list
# 启用插件
rabbitmq-plugins enable 
# 停用插件
rabbitmq-plugins disable 
# 添加用户
rabbitmqctl add_user username password
# 列出所有用户
rabbitmqctl list_users
# 删除用户
rabbitmqctl delete_user username
# 清除用户权限
rabbitmqctl clear_permissions -p vhostpath username
# 列出用户权限
rabbitmqctl list_user_permissions username
# 修改密码
rabbitmqctl change_password username newpassword
# 设置用户权限
rabbitmqctl set_permissions -p vhostpath username ".*" ".*" ".*"
# 创建虚拟主机
rabbitmqctl add_vhost vhostpath
# 列出虚拟主机上的所有权限
rabbitmqctl list_permissions -p vhostpath
# 删除虚拟主机
rabbitmqctl delete_vhost vhost vhostpath
# 移除所有数据,要在 rabbitmqctl stop_app 之后使用
rabbitmqctl reset

rpm 安装

Erlang源码安装或rpm 安装

erlang官网下载地址

wget https://github.com/erlang/otp/releases/download/OTP-24.1.7/otp_src_24.1.7.tar.gz

编译,指定安装目录,去掉不要的模块

./configure  --prefix=/usr/local/erlang-24.0 --without-javac

安装

make && make install 

下载 RabbitMQ rpm文件及安装

RabbitMQ为预编译并可以直接安装的企业Linux系统提供RPM软件包。 唯一需要的依赖是将Erlang安装到系统中。 我们已经安装了Erlang,我们可以进一步下载RabbitMQ。 通过运行下载Erlang RPM软件包。
选择自己需要的RabbitMQ下载,"el8" with "el7" 代表 CentOS 8 ,CentOS 7。

wget https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.9.11/rabbitmq-server-3.9.11-1.el7.noarch.rpm

如果你没有安装wget ,可以运行 yum -y install wget 。 您可以随时找到最新版本的RabbitMQ下载页面的链接。
如果你无法打开地址下载,请将地址复制git 加速网站上,另外下载,再传到服务器上。

rmp -ivh rabbitmq-server-3.9.11-1.el7.noarch.rpm

这里遇到一个安装时,erlang >= 23.2 is needed by rabbitmq-server-3.9.11-1.el7.noarch ,但是我的erlang 版本24.0的.于是 --nodeps 忽略依赖安装,后续启动没问题。

rpm -ivh --nodeps rabbitmq-server-3.8.16-1.el7.noarch

启动服务,管理后台...,请按 yum 安装 完后续操作。

posted @ 2021-12-01 23:29  BEJSON  阅读(82)  评论(0编辑  收藏  举报