1. 程式人生 > >linux上安裝rabbitmq及遇到的問題解決

linux上安裝rabbitmq及遇到的問題解決

一、安裝Erlang

RabbitMQ是流行的開源訊息佇列系統,是AMQP(Advanced Message Queuing Protocol高階訊息佇列協議)的標準實現,用erlang語言開發,所以RabbitMQ依賴Erlang,需要先安裝Erlang。

安裝過程如下:

[root@vmware rabbitmq]# wget https://packages.erlang-solutions.com/erlang-solutions-1.0-1.noarch.rpm
[root@vmware rabbitmq]# sudo rpm -Uvh erlang-solutions-1.0-1.noarch.rpm
[root@vmware rabbitmq]# sudo yum -y install erlang

 等待安裝完成。

二、安裝RabbitMQ

可以通過wget直接在linux上下載,不過可能沒有最新的版本,建議在去官網下載最新版本。因為我的linux是centOS 6.9,我這裡選擇的是RHEL/CentOs6.x

[root@vmware rabbitmq]# cat /etc/redhat-release
CentOS release 6.9 (Final)

 RabbitMQ對應的版本

 然後將rabbitmq-server-3.7.7-1.el6.noarch.rpm檔案上傳到linux伺服器,開始安裝。

[root@vmware rabbitmq]# yum install rabbitmq-server-3.7.7-1.el6.noarch.rpm

安裝完成後啟動rabbitmq,但是不幸的是報錯了,錯誤如下:

[root@vmware rabbitmq]# service rabbitmq-server start
Starting rabbitmq-server: FAILED - check /var/log/rabbitmq/startup_{log, _err}
rabbitmq-server.

我們開啟/var/log/rabbitmq/startup_log看看日誌情況:

ERROR: node with name "rabbit" already running on "vmware"錯誤

解決方法:新建/etc/rabbitmq/rabbitmq-env.conf檔案,並寫入

NODENAME=rabbit@localhost
NODE_IP_ADDRESS=127.0.0.1

然後檢視ps -ef | grep rabbit是否還有相關程序,如果有就kill -9 xxxx,然後再次啟動

[root@vmware rabbitmq]# service rabbitmq-server start
Starting rabbitmq-server: SUCCESS
rabbitmq-server.

到這裡就安裝成功。

常用的rabbitmq啟動命令

service rabbitmq-server   start
service rabbitmq-server   stop
service rabbitmq-server   status
service rabbitmq-server   rotate-logs|
service rabbitmq-server   restart
service rabbitmq-server   condrestart
service rabbitmq-server   try-restart
service rabbitmq-server   reload
service rabbitmq-server   force-reload
ps -ef | grep rabbitmq  檢視rabbitMq程序
netstat -anplt | grep LISTEN  rabbitmq預設監聽埠15672/5672

三、開啟web管理介面

[root@vmware copy]# sudo rabbitmq-plugins enable rabbitmq_management
The following plugins have been configured:
  rabbitmq_management
  rabbitmq_management_agent
  rabbitmq_web_dispatch
Applying plugin configuration to rabbit@localhost...
The following plugins have been enabled:
  rabbitmq_management
  rabbitmq_management_agent
  rabbitmq_web_dispatch

started 3 plugins.

然後我們開啟瀏覽器輸入xxx.xxx.xxx.xxx:15672,使用預設使用者名稱guest,密碼也是guest,不過提示

User can only log in via localhost

因為rabbitmq從3.3.0開始禁止使用guest/guest許可權通過除localhost外的訪問,所以我們自己再建立登入使用者並授權管理員

[root@vmware rabbitmq]# sudo rabbitmqctl add_user admin 123456
Adding user "admin" ...
[root@vmware rabbitmq]# sudo rabbitmqctl set_user_tags admin administrator
Setting tags for user "admin" to [administrator] ...

現在再在瀏覽器開啟xxx.xxx.xxx.xxx:15672,輸入admin,123456登入介面如下:

注意:記得要開放567215672

iptables -I INPUT -p tcp --dport 5672 -j ACCEPT
iptables -I INPUT -p tcp --dport 15672 -j ACCEPT