1. 程式人生 > 實用技巧 >RabbitMQ單機快速安裝使用

RabbitMQ單機快速安裝使用

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/