(linux)rabbitMQ的安裝與啓動,包括遇到的坑與需要注意的配置問題

一、RabbitMQ是什麼

消息系統允許軟件、應用相互連接和擴展.這些應用可以相互鏈接起來組成一個更大的應用,或者將用戶設備和數據進行連接.消息系統通過將消息的發送和接收分離來實現應用程序的異步和解偶.

或許你正在考慮進行數據投遞,非阻塞操作或推送通知。或許你想要實現發佈/訂閱,異步處理,或者工作隊列。所有這些都可以通過消息系統實現。

RabbitMQ是一個消息代理 - 一個消息系統的媒介。它可以爲你的應用提供一個通用的消息發送和接收平臺,並且保證消息在傳輸過程中的安全。

二、RabbitMQ的安裝過程

RabbitMQ是依賴Erlang, 所以需要先安裝Erlang:

Erlang官方下載地址:https://www.erlang-solutions.com/resources/download.html

RabbitMQ官方下載地址:https://www.rabbitmq.com/download.html

這兩個網站由於是國外的網站所以下載速度會比較慢,可以利用科學上網的方式下載最新的版本。我的系統是Centos7,所以如果你是rhel7或者centos7的話可以直接利用下面的鏈接地址自行領取。(如果鏈接失效了可以評論區留言,我會更新的。)

RabbitMQ鏈接: https://pan.baidu.com/s/1DmB1-N5hLuor0OBOD0Mtbg    提取碼: vtzj 

Erlang鏈接: https://pan.baidu.com/s/1l-ldckGIFygnuAlbFgOyTA    提取碼: pf6b

下載下來後將兩個rpm文件上傳至自己的服務器安裝:

#安裝relang
rpm -ivh --nodeps esl-erlang_21.0-1_centos_7_amd64.rpm 

#安裝rabbitmq
rpm -ivh --nodeps rabbitmq-server-3.7.15-1.el7.noarch.rpm 

#開啓管理界面
rabbitmq-plugins enable rabbitmq_management

#修改.erlang.cookie的權限
chown rabbitmq:rabbitmq /var/lib/rabbitmq/.erlang.cookie

 問題1:修改.erlang.cookie的權限

因爲之前使用的不是centos7的系統,在開啓rabbitmq服務的時候會報錯,說.erlang.cookie文件的權限問題,所以不管你用的是centos幾,爲了保險,直接修改文件的權限。(手動結束問題1)

這裏繼續:

#在前臺開啓rabbitmq服務
rabbitmq-server 

如果看到下面的界面表示你的rabbit-server已經開啓成功了。(正常情況下這裏的開啓速度是比較快的,我的當時在這裏開啓的時候比較慢,後來就出現了rabbitctl無法使用,這裏問題2會說到。)

這裏提供幾個簡單的命令:

#前臺啓動服務
rabbitmq-server

#後臺啓動服務
rabbitmq-server -detached 

#停止服務
rabbitmqctl stop 

#查看狀態
rabbitmqctl status 

問題2:rabbitctl命令報錯

我在使用上面的命令是,發現如果使用rabbitmq-server會反應非常的慢,如果使用rabbitmqctl 操作的話就會報錯:Error: unable to perform an operation on node 'rabbit@study68'.  (注:study68是我的機器名)

   

網上的解決方法很多,比如修改.erlang.cookie文件、丟失對象需要重新找回對象,再或者圖中提示的幾種方式,我都試過了都不可以,最後通過科學上網的方式在Google找到了一種方式,是映射解析的問題,做法是在你的hosts文件中添加本機的ip和主機名的映射。我的ip是10.10.10.68,hostname是study68.

修改完成後啓動和使用rabbitmqctl就正常了。

問題3:無法訪問管理後臺

操作到現在就啓動服務完成了,可以登錄到可視化平臺查看了。rabbitmq默認給了一個用戶名和密碼都爲guest的賬戶,但是如果你在服務器本機操作可以直接訪問 localhost:15672 。

如果你在遠程訪問就需要注意兩個問題,第一個是防火牆的阻擋問題,解決方式有兩種,要麼關閉防火牆(不建議),要麼開放15672和5672這兩個端口。第二個就是遠程訪問guest是無法登錄的,因爲guest的權限太大了,而且是默認的賬戶,遠程訪問的話非常的不安全,所以你需要自己新建一個自己的賬戶。

#添加賬戶,用戶名dong 密碼123456
rabbitmqctl add_user dong 123456

#授予用戶角色,總共有四種角色,這裏授予的是administrator
rabbitmqctl set_user_tags dong administrator

#設置用戶允許訪問的vhost
rabbitmqctl set_permissions -p /  dong '.*' '.*' '.*'

創建賬戶完成後,利用我們自己的賬戶進行遠程訪問。地址爲服務器ip地址:15672 

     

進來後就是rabbit後臺的界面了,裏面有各式各樣的功能,比如添加用戶等等。到這裏rabbitmq的基本配置就完成了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章