[linux]CentOS 7 下安裝 RabbitMQ

簡介

RabbitMQ 是實現(xiàn)了高級消息隊列協(xié)議(AMQP)的開源消息代理軟件。RabbitMQ 服務(wù)器是用 Erlang 語言編寫的,所以下面要安裝 RabbitMQ 需要安裝 Erlang。

一、安裝 Erlang、Elixir

1.1 準(zhǔn)備

1、yum update

2、yum install epel-release

3、yum install gcc gcc-c++ glibc-devel make ncurses-devel openssl-devel autoconf java-1.8.0-openjdk-devel git wget wxBase.x86_64

1.2 安裝 Erlang

1、wget http://packages.erlang-solutions.com/erlang-solutions-1.0-1.noarch.rpm

2、rpm -Uvh erlang-solutions-1.0-1.noarch.rpm

3、yum update

4、yum install erlang

5、驗證是否安裝成功,輸入命令:erl

1)編譯&安裝完成以后配置Erlang環(huán)境變量

[root@MiWiFi-R3-srv otp_src_19.3]# vim /etc/profile

#追加環(huán)境變量到文件末尾

ERL_HOME=/usr/local/erlang

PATH=$ERL_HOME/bin:$PATH

export ERL_HOME PATH

[root@MiWiFi-R3-srv otp_src_19.3]# source /etc/profile

2)運(yùn)行RabbitMQ需要首先開放15672和5672端口:

1、執(zhí)行firewall-cmd --permanent --zone=public --add-port=156/tcp,提示FirewallD is not running,如下圖所示。

2、通過systemctl status firewalld查看firewalld狀態(tài),發(fā)現(xiàn)當(dāng)前是dead狀態(tài),即防火墻未開啟。

3、通過systemctl start firewalld開啟防火墻,沒有任何提示即開啟成功。

4、再次通過systemctl status firewalld查看firewalld狀態(tài),顯示running即已開啟了。

5、如果要關(guān)閉防火墻設(shè)置,可能通過systemctl stop firewalld這條指令來關(guān)閉該功能。

6、再次執(zhí)行執(zhí)行firewall-cmd --permanent --zone=public --add-port=3306/tcp,提示success,表示設(shè)置成功,這樣就可以繼續(xù)后面的設(shè)置了。

[root@MiWiFi-R3-srv ~]# firewall-cmd --zone=public --add-port=15672/tcp --permanent

[root@MiWiFi-R3-srv ~]# firewall-cmd --zone=public --add-port=5672/tcp --permanent

[root@MiWiFi-R3-srv ~]# firewall-cmd --reload

1.3 安裝 Elixir

因為 EPEL 中的 Elixir 版本太老,所以下面是通過源碼編譯安裝的過程:

1、通過 git 下載 Elixir 源碼:git clone https://github.com/elixir-lang/elixir.git

2、進(jìn)到該目錄:cd elixir/

3、編譯:make clean test,編譯完成會看到:Finished in 5.7 seconds (3.3s on load, 2.3s on tests)

4、配置 Path:export PATH="$PATH:/path/elixir/bin"

5、驗證是否安裝成功,輸入命令:iex

二、安裝 RabbitMQ

1、wget https://www.rabbitmq.com/releases/rabbitmq-server/v3.6.1/rabbitmq-server-3.6.1-1.noarch.rpm

2、rpm --import https://www.rabbitmq.com/rabbitmq-signing-key-public.asc

3、yum install rabbitmq-server-3.6.1-1.noarch.rpm

正常情況下RabbitMQ已經(jīng)安裝完成,最后測試一下:

[root@MiWiFi-R3-srv ~]# rabbitmq-plugins enable rabbitmq_management

[root@MiWiFi-R3-srv ~]# rabbitmq-server

至此已經(jīng)安裝完成,下面介紹啟動和自動開機(jī)啟動命令和配置

1、啟動:systemctl start rabbitmq-server? ? ?或? ? ?service rabbitmq-server start

2、開機(jī)自動啟動:systemctl enable rabbitmq-server? ?

3、查看 rabbitmq-server 狀態(tài):rabbitmqctl status

4、停止:service rabbitmq-server stop

1、# /sbin/service rabbitmq-server stop

2、# /sbin/service rabbitmq-server start

3、# rabbitmqctl status?

參考

Install RabbitMQ server in CentOS 7

http://www.aspyc.com/archives/466.html

https://www.linuxidc.com/Linux/2018-01/150600.htm

方案二:


CENTOS 7安裝配置RABBITMQ

一. 安裝erlang

1)下載erlang

[root@localhost src]# wget http://www.rabbitmq.com/releases/erlang/erlang-19.0.4-1.el7.centos.x86_64.rpm

2)安裝erlang

[root@localhost src]# rpm -ihv erlang-19.0.4-1.el7.centos.x86_64.rpm

二.安裝RabbitMQ

1)下載rabbitmq

[root@localhost src]# wget http://www.rabbitmq.com/releases/rabbitmq-server/v3.6.6/rabbitmq-server-3.6.6-1.el7.noarch.rpm

2)導(dǎo)入key文件

[root@localhost src]# rpm --import http://www.rabbitmq.com/rabbitmq-signing-key-public.asc

3)編譯&安裝完成以后配置Erlang環(huán)境變量

[root@MiWiFi-R3-srv otp_src_19.3]# vim /etc/profile

#追加環(huán)境變量到文件末尾

ERL_HOME=/usr/local/erlang

PATH=$ERL_HOME/bin:$PATH

export ERL_HOME PATH

[root@MiWiFi-R3-srv otp_src_19.3]# source /etc/profile

4)運(yùn)行RabbitMQ需要首先開放15672和5672端口:

1、執(zhí)行firewall-cmd --permanent --zone=public --add-port=3306/tcp,提示FirewallD is not running,如下圖所示。

2、通過systemctl status firewalld查看firewalld狀態(tài),發(fā)現(xiàn)當(dāng)前是dead狀態(tài),即防火墻未開啟。

3、通過systemctl start firewalld開啟防火墻,沒有任何提示即開啟成功。

4、再次通過systemctl status firewalld查看firewalld狀態(tài),顯示running即已開啟了。

5、如果要關(guān)閉防火墻設(shè)置,可能通過systemctl stop firewalld這條指令來關(guān)閉該功能。

6、再次執(zhí)行執(zhí)行firewall-cmd --permanent --zone=public --add-port=3306/tcp,提示success,表示設(shè)置成功,這樣就可以繼續(xù)后面的設(shè)置了。

[root@MiWiFi-R3-srv ~]# firewall-cmd --zone=public --add-port=15672/tcp --permanent

[root@MiWiFi-R3-srv ~]# firewall-cmd --zone=public --add-port=5672/tcp --permanent

[root@MiWiFi-R3-srv ~]# firewall-cmd --reload


正常情況下RabbitMQ已經(jīng)安裝完成,最后測試一下:


[root@MiWiFi-R3-srv ~]# rabbitmq-plugins enable rabbitmq_management

[root@MiWiFi-R3-srv ~]# rabbitmq-server

5 )安裝rabbitmq

[root@localhost src]# yum install -y rabbitmq-server-3.6.6-1.el7.noarch.rpm

三.開啟可視化插件

[root@localhost src]# rabbitmq-plugins enable rabbitmq_management

The following plugins have been enabled:

amqp_client

cowlib

cowboy

rabbitmq_web_dispatch

rabbitmq_management_agent

rabbitmq_management

Applying plugin configuration to rabbit@localhost... failed.

*?Could not contact node rabbit@localhost.

Changes will take effect at broker restart.

*?Options:?--online?- fail?if?broker cannot be contacted.

?--offline?-?do?not try to contact broker.

(注意:上面出現(xiàn)報錯信息 Applying plugin configuration to rabbit@localhost… failed.

是因為沒有啟動rabbit服務(wù)也就是需要先開啟服務(wù):service rabbitmq-server start)

四.添加遠(yuǎn)程訪問用戶,并分配權(quán)限

[root@localhost src]# rabbitmqctl add_user yangcheng 123456

Error: unable to connect to node rabbit@localhost: nodedown

DIAGNOSTICS

===========

attempted to contact:?[rabbit@localhost]

rabbit@localhost:

?*?connected to epmd?(port?4369)?on localhost

?*?epmd reports: node?'rabbit'?not running at all

no other nodes on localhost

?*?suggestion: start the node

current node details:

- node name:?'rabbitmq-cli-16@localhost'

- home dir:?/var/lib/rabbitmq

- cookie hash: JchyWsght/ggnwo3tgnb5Q==

對于上述問題,官網(wǎng)有提到cookie不一致之類的問題,重啟服務(wù)即可解決。

[root@localhost src]# service rabbitmq-server restart

Restarting rabbitmq-server?(via systemctl):[?OK]

# 添加用戶

[root@localhost src]# rabbitmqctl add_user yangcheng 123456

Creating user?"yangcheng"

# 配置用戶組

[root@localhost src]# rabbitmqctl set_user_tags yangcheng administrator

Setting tags?for?user?"yangcheng"?to?[administrator]

# 分配權(quán)限

[root@localhost src]# rabbitmqctl set_permissions -p / yangcheng '.*' '.*' '.*'

Setting permissions?for?user?"yangcheng"?in?vhost?"/"

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容