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登入介面如下:
注意:記得要開放5672和15672埠
iptables -I INPUT -p tcp --dport 5672 -j ACCEPT
iptables -I INPUT -p tcp --dport 15672 -j ACCEPT