rabbitmq簡易安裝詳細教程

森嶼槿年汐發表於2020-10-30

原創:

安裝Erlang
由於RabbitMQ依賴Erlang, 所以需要先安裝Erlang。

Erlang的安裝方式大概有兩種:

從Erlang Solution安裝(此方式安裝的erlang版本較高,和下文教程中rabbitMQ的版本不一致,建議安裝高版本的rabbitMQ)

新增erlang solutions源

$ wget https://packages.erlang-solutions.com/erlang-solutions-1.0-1.noarch.rpm
$ sudo rpm -Uvh erlang-solutions-1.0-1.noarch.rpm

$ sudo yum install erlang
從EPEL源安裝(此方式安裝的Erlang版本可能不是最新的,有時候不能滿足RabbitMQ需要的最低版本)

啟動EPEL源

$ sudo yum install epel-release

安裝erlang

$ sudo yum install erlang

安裝RabbitMQ
先下載rpm:

wget http://www.rabbitmq.com/releases/rabbitmq-server/v3.6.6/rabbitmq-server-3.6.6-1.el7.noarch.rpm
下載完成後安裝:

yum install rabbitmq-server-3.6.6-1.el7.noarch.rpm
安裝時如果遇到下面的依賴錯誤

Error: Package: socat-1.7.2.3-1.el6.x86_64 (epel)
Requires: libreadline.so.5()(64bit)
可以嘗試先執行

$ sudo yum install socat
關於RabbitMQ的一些基本操作
$ sudo chkconfig rabbitmq-server on # 新增開機啟動RabbitMQ服務
$ sudo /sbin/service rabbitmq-server start # 啟動服務
$ sudo /sbin/service rabbitmq-server status # 檢視服務狀態
$ sudo /sbin/service rabbitmq-server stop # 停止服務

檢視當前所有使用者

$ sudo rabbitmqctl list_users

檢視預設guest使用者的許可權

$ sudo rabbitmqctl list_user_permissions guest

由於RabbitMQ預設的賬號使用者名稱和密碼都是guest。為了安全起見, 先刪掉預設使用者

$ sudo rabbitmqctl delete_user guest

新增新使用者

$ sudo rabbitmqctl add_user username password

設定使用者tag

$ sudo rabbitmqctl set_user_tags username administrator

賦予使用者預設vhost的全部操作許可權

$ sudo rabbitmqctl set_permissions -p / username “." ".” “.*”

檢視使用者的許可權

$ sudo rabbitmqctl list_user_permissions username
更多關於rabbitmqctl的使用,可以參考幫助手冊。

開啟web管理介面
如果只從命令列操作RabbitMQ,多少有點不方便。幸好RabbitMQ自帶了web管理介面,只需要啟動外掛便可以使用。

$ sudo rabbitmq-plugins enable rabbitmq_management
然後通過瀏覽器訪問

http://localhost:15672

輸入使用者名稱和密碼訪問web管理介面了。

配置RabbitMQ
關於RabbitMQ的配置,可以下載RabbitMQ的配置檔案模板到/etc/rabbitmq/rabbitmq.config, 然後按照需求更改即可。
關於每個配置項的具體作用,可以參考官方文件。
更新配置後,別忘了重啟服務哦!

開啟使用者遠端訪問
預設情況下,RabbitMQ的預設的guest使用者只允許本機訪問, 如果想讓guest使用者能夠遠端訪問的話,只需要將配置檔案中的loopback_users列表置為空即可,如下:

{loopback_users, []}
另外關於新新增的使用者,直接就可以從遠端訪問的,如果想讓新新增的使用者只能本地訪問,可以將使用者名稱新增到上面的列表, 如只允許admin使用者本機訪問。

{loopback_users, [“admin”]}
更新配置後,別忘了重啟服務哦!

sudo /sbin/service rabbitmq-server status # 檢視服務狀態

這裡可以看到log檔案的位置,轉到檔案位置,開啟檔案:

這裡顯示的是沒有找到配置檔案,我們可以自己建立這個檔案

cd /etc/rabbitmq/
vi rabbitmq.config
編輯內容如下:

[{rabbit, [{loopback_users, []}]}].
這裡的意思是開放使用,rabbitmq預設建立的使用者guest,密碼也是guest,這個使用者預設只能是本機訪問,localhost或者127.0.0.1,從外部訪問需要新增上面的配置。

儲存配置後重啟服務:

service rabbitmq-server stop
service rabbitmq-server start
此時就可以從外部訪問了,但此時再看log檔案,發現內容還是原來的,還是顯示沒有找到配置檔案,可以手動刪除這個檔案再重啟服務,不過這不影響使用

rm rabbit@mythsky.log
service rabbitmq-server stop
service rabbitmq-server start
注意:記得要開放5672和15672埠

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

相關文章