1. 程式人生 > >Linux 7.5安裝RabbitMQ3.6.5-1

Linux 7.5安裝RabbitMQ3.6.5-1

附:RabbitMQ Erlang版本要求

注:若版本按照RabbitMQ Erlang版本要求,則會報錯的。

一、準備工作

1、下載erlang

wget www.rabbitmq.com/releases/erlang/erlang-18.3-1.el7.centos.x86_64.rpm

2、下載socat

附:http://repo.iotti.biz/CentOS/7/x86_64/

wget http://repo.iotti.biz/CentOS/7/x86_64/socat-1.7.3.2-5.el7.lux.x86_64.rpm

3、下載RabbitMQ

wget www.rabbitmq.com/releases/rabbitmq-server/v3.6.5/rabbitmq-server-3.6.5-1.noarch.rpm

4、安裝

   4、1安裝erlang

rpm -ivh erlang-18.3-1.el7.centos.x86_64.rpm

 4、2安裝socat

 rpm -ivh socat-1.7.3.2-5.el7.lux.x86_64.rpm

4、3安裝rabbitmq-server

rpm -ivh rabbitmq-server-3.6.5-1.noarch.rpm

注:如果先去安裝erlang,再去安裝rabbitmq-server會安裝不成功的。

會提示讓你先安裝socat。

 

二、配置檔案修改

1、編輯rabbitmq配置檔案:

vim /usr/lib/rabbitmq/lib/rabbitmq_server-3.7.8/ebin/rabbit.app

修改之後:

 

 

三、啟動和關閉rabbitmq服務

<1>啟動命令:

rabbitmq-server start &

注:

1、如果輸入啟動命令,出現如下圖問題:ERROR: epmd error for host 192: badarg (unknown POSIX error)

那麼解決辦法:

1》網上部落格看的方法:親測有效。(rabbitmq-env.conf原本是沒有的,建立並編輯它)

vim /etc/rabbitmq/rabbitmq-env.conf

新增一行:[email protected],如下圖,儲存退出

2》網上視訊中看到的方法,編輯hostname檔案

vim /etc/hostname 

 這裡我將原來的主機名改成了localname,當然你可以隨意。

 然後啟動ok。

2、如果執行啟動命令後,出現ERROR: node with name "rabbit" already running on "localhost"

解決辦法:

ps -ef | grep rabbit

kill 程序號

如圖:kill 92153 和kill 99377

然後再次啟動發現問題解決。

此時用以下命令檢視:

lsof -i:5672

注:-bash: lsof: 未找到命令,則需要安裝lsof,

yum install lsof

<2>關閉

rabbitmqctl stop_app

 

四、安裝管理介面外掛

注:這裡有一點,不太明白,就是為什麼某課網視訊中,直接執行rabbitmq會出現如圖內容,而我這裡直接執行rabbitmq會提示未找到命令。

不過我直接執行以下命令也可以開啟管理介面外掛。

rabbitmq-plugins enable rabbitmq_management

五、瀏覽器訪問(ps:我這裡的防火牆是關閉的

賬號密碼:guest

ps:

centos7中的防火牆改成了firewall,使用iptables無作用,開放埠的方法如下:
 
firewall-cmd --zone=public --add-port=80/tcp --permanent
 
返回success為成功
######################################################################################
 
命令含義: 
 
--zone #作用域 
 
--add-port=80/tcp #新增埠,格式為:埠/通訊協議 
 
--permanent #永久生效
 
######################################################################################
 
systemctl restart firewalld.service  #重啟防火牆
 
systemctl stop firewalld.service #關閉防火牆
 
netstat -lntp #檢視監聽(Listen)的埠
 
netstat -lnp|grep 8080 #檢查埠被哪個程序佔用