Centos6安裝RabbitMQ

2020-08-09 19:40:57

RabbitMQ概念

RabbitMQ是流行的開源訊息佇列系統,是AMQP(Advanced Message Queuing Protocol高階訊息佇列協定)的標準實現,用erlang語言開發。RabbitMQ據說具有良好的效能和時效性,同時還能夠非常好的支援叢集和負載部署,非常適合在較大規模的分佈式系統中使用。

RabbitMQ的安裝

注:使用Package Cloud安裝時,要注意根據自己的系統版本號來安裝對應的erlang

https://packagecloud.io/rabbitmq/erlang/install#bash-rpm

 

下載Erlang的rpm包

RabbitMQ是Erlang語言編寫,所以Erang環境必須要有,注:Erlang環境一定要與RabbitMQ版本匹配:點選下面 下麪鏈接檢視

https://www.rabbitmq.com/which-erlang.html

Erlang下載地址:https://www.rabbitmq.com/releases/erlang/(根據自身需求及匹配關係,下載對應rpm包)

從Erlang Solution安裝(推薦)

官網下載地址:http://www.rabbitmq.com/install-rpm.html

這裏選擇Package Colud

 

點選跳轉後如下,安裝的快速方法是使用雲提供的包指令碼。Package Cloud還可以用來通過yum安裝最新的Erlang版本。

 

跳轉後,點選erlang,

 

選擇版本

 

複製命令列安裝erlang前置條件以及安裝erlang

 

1、安裝erlang的的前置條件的

# 新增erlang solutions源 #

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

#若執行上面命令報錯 Error: Cannot retrieve metalink for repository: epel. Please verify its path and try again

把/etc/yum.repos.d/epel.repo,檔案第3行註釋去掉,把第四行註釋掉。具體如下:

開啓/etc/yum.repos.d/epel.repo,將

[epel] name=Extra Packages for Enterprise Linux 6 - $basearch #baseurl=http://download.fedoraproject.org/pub/epel/6/$basearch mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-6&arch=$basearch

修改爲

[epel] name=Extra Packages for Enterprise Linux 6 - $basearch baseurl=http://download.fedoraproject.org/pub/epel/6/$basearch #mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-6&arch=$basearch

若安裝過程中沒有拋出什麼錯,最後提示安裝成功,就開始安裝erlang了,如下圖

 

2、安裝erlang(安裝過程比較慢)

yum install erlang

完成後如下

 

使用erl或erl -version命令檢視erlang是否安裝成功

 

3、安裝rabbitmq-server

安裝rabbitmq-server做前置準備:

https://packagecloud.io/rabbitmq

 

 


 

複製命令

執行安裝成功後,如下

Loading mirror speeds from cached hostfile * base: mirrors.cqu.edu.cn * extras: ap.stykers.moe * updates: ap.stykers.moe Package yum-utils-1.1.30-42.el6_10.noarch already installed and latest version Nothing to do Generating yum cache for rabbitmq_rabbitmq-server... Importing GPG key 0x4D206F89: Userid: "https://packagecloud.io/rabbitmq/rabbitmq-server (https://packagecloud.io/docs#gpg_signing) <[email protected]>" From : https://packagecloud.io/rabbitmq/rabbitmq-server/gpgkey Generating yum cache for rabbitmq_rabbitmq-server-source... The repository is setup! You can now install packages. [root@Field ~]#

 

下載RabbitMQ Server,根據自己系統版本來下載,

下載後將檔案上傳到linux系統

 

若直接安裝

rpm -ivh rabbitmq-server-3.8.1-1.el6.noarch.rpm 

 

這是說沒有key,也沒有socat

點選https://www.rabbitmq.com/download.html,找到Release Signing Key,如下

 

點選進去,複製上面網址

 

命令列執行

rpm --import https://www.rabbitmq.com/rabbitmq-release-signing-key.asc

再重新安裝

sudo yum install rabbitmq-server-3.7.23-1.el8.noarch

常見錯誤

如報以下錯誤,

ERROR: epmd error for host 「192」:badarg (unknown POSIX error)

修改

vi /etc/rabbitmq/rabbitmq-env.conf

追加如下設定:

NODENAME=rabbit@localhost

注:如存取失敗,看看防火牆是否允許外部存取該埠

常用命令及開啓CentOs開關防火牆命令

啓動服務及自動執行

#啓動服務

systemctl start rabbitmq-server

#檢視服務狀態

systemctl status rabbitmq-server

#重新啓動服務


systemctl restart rabbitmq-server

安裝web管理外掛

rabbitmq-plugins enable rabbitmq_management

新增防火牆埠

#新增埠

firewall-cmd --add-port=5672/tcp --permanent firewall-cmd --add-port=15672/tcp –permanent

#重新載入設定

firewall-cmd --reload

# 防火牆啓動關閉


systemctl start firewalld.service systemctl stop firewalld.service systemctl enable firewalld.service

# 檢視防火牆埠列表


firewall-cmd --permanent --list-port

出現錯誤執行

systemctl unmask firewalld

#下次需要鎖定該服務時執行

systemctl mask firewall

web管理外掛存取地址

ip地址加埠

http://192.168.100.100:15672/

使用者名稱:guest

密碼:guest

新增使用者操作範例

#新增使用者 使用者名稱

admin 密碼 admin web管理工具可用此使用者登錄

sudo rabbitmqctl add_user admin admin

#設定使用者角色 管理員

sudo rabbitmqctl set_user_tags admin administrator #tag(administrator,monitoring,policymaker,management)

#設定使用者許可權(接受來自所有Host的所有操作)

sudo rabbitmqctl set_permissions -p "/" admin '.*' '.*' '.*'

#檢視使用者許可權

sudo rabbitmqctl list_user_permissions admin

1.9 常用命令