本节介绍在 RHEL 7 和 CentOS 7 上的安装。CentOS 7 已达到一般支持的结束,不再受支持。因此非常不鼓励使用它。
Yum 将验证它安装的任何软件包的签名,因此该过程的第一步是导入签名密钥
## 主 RabbitMQ 签名密钥 rpm --import https://github.com/rabbitmq/signing-keys/releases/download/2.0/rabbitmq-release-signing-key.asc ## 现代 Erlang 存储库 rpm --import https: //packagecloud.io/rabbitmq/erlang/gpgkey ## RabbitMQ服务器仓库 rpm --import https://packagecloud.io/rabbitmq/rabbitmq-server/gpgkey
为 RabbitMQ 和 Modern Erlang 添加 Yum 存储库
为了使用 Yum 存储库,必须在/etc/yum.repos.d/目录下添加一个.repo文件(例如rabbitmq.repo)。
红帽 7、CentOS 7
以下示例设置了一个存储库,该存储库将从 PackageCloud 安装 RabbitMQ 及其 Erlang 依赖项,并针对CentOS 7。CentOS 8 指令略有不同。
# 创建文件 /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的存储库密钥和 RabbitMQ 包签名密钥
# 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 服务器
## 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的仓库钥匙和RabbitMQ的包签名密钥
# 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
使用 Yum 安装软件包
CentOS 7
更新 Yum 包元数据:
yum update -y
接下来,安装软件包:
## 从标准操作系统存储库安装这些依赖项 yum install socat logrotate -y yum install erlang rabbitmq-server -y
如果提示安装erlang失败,可手动安装:
#安装依赖 yum -y install gcc glibc-devel make ncurses-devel openssl-devel xmlto perl wget gtk2-devel binutils-devel
erlang官网:https://www.erlang.org/downloads 下载最新的 Erlang/OTP-24.2:
wget https://github.com/erlang/otp/releases/download/OTP-24.2/otp_src_24.2.tar.gz tar -zxvf otp_src_24.2.tar.gz cd otp_src_24.2 #创建即将安装的目录 mkdir /usr/local/erlang #配置安装路径 ./configure --prefix=/usr/local/erlang
#如果遇到类似如下这个警告提醒 忽略即可
继续安装操作
make make install #查看一下是否安装成功 ll /usr/local/erlang/bin #添加环境变量 echo 'export PATH=$PATH:/usr/local/erlang/bin' >> /etc/profile #刷新环境变量 source /etc/profile #erlang安装成功...
查看erlang版本
erl -v Erlang/OTP 24 [erts-12.2] [source] [64-bit] [smp:2:2] [ds:2:2:10] [async-threads:1] Eshell V12.2 (abort with ^G)
防火墙开放端口访问
#添加5672及15672 firewall-cmd --permanent --zone=public --add-port=5672/tcp firewall-cmd --permanent --zone=public --add-port=15672/tcp #重新加载防火墙数据 firewall-cmd --reload #如果是iptables(防火墙)开放端口,根据实际需要开启即可(可黑白名单) vim /etc/sysconfig/iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 15672 -j ACCEPT -A INPUT -p tcp -m state --state NEW -m tcp --dport 5672 -j ACCEPT service iptables restart service iptables save
启用管理页面插件
sudo /sbin/rabbitmq-plugins enable rabbitmq_management
添加访问用户
#查询安装默认的用户(一般有一个guest用户administrator组) rabbitmqctl list_users #其中admin 是用户名,admin123456是密码 rabbitmqctl add_user admin admin123456 #通过命令给用户增加角色权限 rabbitmqctl set_user_tags admin administrator #给用户增加所有访问权限 rabbitmqctl set_permissions -p "/" admin '.*' '.*' '.*' #删除用户(安全起见,删除默认用户) rabbitmqctl delete_user guest #其它操作 rabbitmqctl delete_user Username #删除一个用户 rabbitmqctl change_password Username Newpassword #修改用户密码 rabbitmqctl list_users #查看当前用户列表启动和关闭
#启动服务 sudo systemctl start rabbitmq-server #查看状态 sudo systemctl status rabbitmq-server #停止服务 sudo systemctl stop rabbitmq-server #设置开机启动 sudo systemctl enable rabbitmq-server
查看web管理界面:
浏览器打开本地:http://127.0.0.1:15672/ 即可,密码就是刚刚创建的账户密码
ps:以上是通过官方rpm文件yum方式安装...
ps:如果是通过官方二进制文件安装的,开机自启动项需要做如下操作
1.在/etc/init.d 目录下新建一个 rabbitmq文件内容如下
#!/bin/bash
#chkconfig:2345 61 61
#二进制安装此处默认home目录为 /root 目录,具体根据实际情况修改 home,erlang,rabbitmq安装文件目录
export HOME=/root
export PATH=$PATH:/usr/local/erlang/bin
export PATH=$PATH:/usr/local/rabbitmq/sbin
case "$1" in
start)
echo "Starting RabbitMQ ..."
rabbitmq-server -detached
;;
stop)
echo "Stopping RabbitMQ ..."
rabbitmqctl stop
;;
status)
echo "Status RabbitMQ ..."
rabbitmqctl status
;;
restart)
echo "Restarting RabbitMQ ..."
rabbitmqctl stop
rabbitmq-server -detached
;;
*)
echo "Usage: $prog {start|stop|status|restart}"
;;
esac
exit 0
2.对rabbitmq授予可执行权限 [root@localhost init.d]# chmod 775 rabbitmq 3. 添加rabbitmq服务到系统服务中 [root@localhost init.d]# chkconfig --add rabbitmq 4.设置自启动 [root@localhost init.d]# chkconfig rabbitmq on 5.查看自启动项是否设置成功 [root@localhost init.d]# chkconfig --list rabbitmq 6.开启rabbit服务 [root@localhost init.d]# ./rabbitmq start 7.测试开机重启 [root@localhost init.d]#reboot [root@localhost ~]# ps aux | grep rabbit 然后就同时可以通过如下命令进行启动、停止、查看状态、重启等操作了(仅是针对二进制文件安装的,rpm无需此项) /etc/init.d/rabbitmq start /etc/init.d/rabbitmq stop /etc/init.d/rabbitmq status /etc/init.d/rabbitmq restart



