RabbitMQ單機快速安裝使用
阿新 • • 發佈:2020-08-23
RabbitMQ單機快速安裝使用
[TOC]
一、概述
作業系統環境: CentOS7.8 x64 [root@localhost ~]# cat /etc/redhat-release CentOS Linux release 7.8.2003 (Core) 安裝RabbitMQ之前需先安裝Erlang 注意:CentOS7和CentOS8安裝方式略有差異;Erlang和RabbitMQ版本有對應關係 本次安裝版本為:Erlang-23.0.3,RabbitMQ-3.8.7 RabbitMQ Erlang Version Requirements https://www.rabbitmq.com/which-erlang.html Zero-dependency Erlang RPM for RabbitMQ https://github.com/rabbitmq/erlang-rpm
二、安裝Erlang
2.1.配置repo源
/etc/yum.repos.d/rabbitmq_erlang.repo
[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://dl.bintray.com/rabbitmq/Keys/rabbitmq-release-signing-key.asc sslverify=1 sslcacert=/etc/pki/tls/certs/ca-bundle.crt metadata_expire=300
2.2.yum安裝erlang
yum info erlang
yum -y install erlang
三.安裝RabbitMQ
3.1.配置repo源
/etc/yum.repos.d/rabbitmq_rabbitmq-server.repo
[rabbitmq_rabbitmq-server] name=rabbitmq_rabbitmq-server baseurl=https://packagecloud.io/rabbitmq/rabbitmq-server/el/7/$basearch 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.2.yum安裝rabbitmq
#安裝
yum -y install rabbitmq-server
#檢查RabbitMQ是否安裝成功
rabbitmqctl status
# 啟動RabbitMQ
systemctl start rabbitmq-server #啟動
systemctl enable rabbitmq-server #配置開機穹頂
systemctl status rabbitmq-server #檢視狀態
#另外也可以通過下載RabbitMQ rpm包方式直接安裝
wget https://dl.bintray.com/rabbitmq/all/rabbitmq-server/3.8.7/rabbitmq-server-3.8.7-1.el7.noarch.rpm
rpm --import https://www.rabbitmq.com/rabbitmq-release-signing-key.asc
yum install rabbitmq-server-3.8.7-1.el7.noarch.rpm
四.配置使用
rabbitmqctl add_user admin 123456 #設定使用者和密碼
rabbitmqctl set_user_tags admin administrator #設定使用者許可權
rabbitmqctl add_vhost demo_dev #新增 vhost
rabbitmqctl set_permissions -p demo_dev admin ".*" ".*" ".*" #vhost設定許可權
五、啟用介面控制檯(非必須)
啟用外掛
#rabbitmq-plugins enable rabbitmq_management
http://ip:15672 admin/123456 登入控制檯
六、防火牆配置
firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.1.0/24" port protocol="tcp" port="5672" accept"
firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.1.0/24" port protocol="tcp" port="15672" accept"
firewall-cmd --reload
sed -i 's/SELINUX=enforing/SELINUX=disabled/' /etc/selinux/config
setforce 0
#如果是舊版rabbitmq可能非localhost不能登入
方案一:
在rabbitmq的配置檔案目錄下(預設為:/etc/rabbitmq)建立一個rabbitmq.config檔案。
檔案中新增如下配置:
[{rabbit, [{loopback_users, []}]}].
方案二:
把/usr/lib/rabbitmq/lib/rabbitmq_server-x.x.x/ebin/rabbit.app中的
將:{loopback_users, [<<”guest”>>]},改為:{loopback_users, []}
七、其他常用命令
rabbitmq-plugins list #檢視所有外掛列表
rabbitmqctl delete_user Username #刪除一個使用者
rabbitmqctl change_password Username Newpassword #修改使用者密碼
rabbitmqctl list_users #檢視當前使用者列表
rabbitmqctl list_permissions [-p VHostPath] #檢視(指定hostpath)所有使用者的許可權資訊
rabbitmqctl list_user_permissions User #檢視指定使用者的許可權資訊
rabbitmqctl clear_permissions [-p VHostPath] User #清除使用者的許可權資訊
八、其他問題解決
Loaded: loaded (/usr/lib/systemd/system/rabbitmq-server.service; disabled; vendor preset: disabled)
解決方案:
setsebool -P nis_enabled 1
chown -R rabbitmq:rabbitmq /var/lib/rabbitmq/