系統版本:安裝依賴:由於RabbitMQ依賴Erlang, 所以需要先安裝Erlang。Erlang的安裝方式大概有兩種:(1) Erlang Solution安裝(推薦)wget https://packages.erlang-solutions.com/erlang-solutions-1.0-... ...
系統版本:
安裝依賴:
由於RabbitMQ依賴Erlang, 所以需要先安裝Erlang。
Erlang的安裝方式大概有兩種:
(1) Erlang Solution安裝(推薦)
wget https://packages.erlang-solutions.com/erlang-solutions-1.0-1.noarch.rpm
rpm -Uvh erlang-solutions-1.0-1.noarch.rpm
yum install erlang
(2) 從EPEL源安裝(這種方式安裝的Erlang版本可能不是最新的,有時候不能滿足RabbitMQ需要的最低版本)
yum install epel-release
yum install erlang
安裝RabbitMQ:
wget http://www.rabbitmq.com/releases/rabbitmq-server/v3.6.15/rabbitmq-server-3.6.15-1.el7.noarch.rpm
下載完成後安裝:
yum install rabbitmq-server-3.6.15-1.el7.noarch.rpm
安裝時如果遇到下麵的依賴錯誤:
Error: Package: socat-1.7.2.3-1.el6.x86_64 (epel) Requires: libreadline.so.5()(64bit)
可以嘗試先執行:
yum install socat
RabbitMQ的一些基本操作:
# 添加開機啟動RabbitMQ服務
systemctl enable rabbitmq-server.service
# 查看服務狀態
systemctl status rabbitmq-server.service
# 啟動服務
systemctl start rabbitmq-server.service
# 停止服務
systemctl stop rabbitmq-server.service
# 查看當前所有用戶
rabbitmqctl list_users
# 查看預設guest用戶的許可權
rabbitmqctl list_user_permissions guest
# 由於RabbitMQ預設的賬號用戶名和密碼都是guest。為了安全起見, 先刪掉預設用戶
rabbitmqctl delete_user guest
# 添加新用戶
rabbitmqctl add_user username password
# 設置用戶tag
rabbitmqctl set_user_tags username administrator
# 賦予用戶預設vhost的全部操作許可權
rabbitmqctl set_permissions -p / username ".*" ".*" ".*"
# 查看用戶的許可權
rabbitmqctl list_user_permissions username
更多關於rabbitmqctl
的使用,可以參考幫助手冊。
開啟web管理介面
如果只從命令行操作RabbitMQ,多少有點不方便。幸好RabbitMQ自帶了web管理界面,只需要啟動插件便可以使用。
rabbitmq-plugins enable rabbitmq_management
配置RabbitMQ
關於RabbitMQ的配置,可以下載RabbitMQ的配置文件模板到/etc/rabbitmq/rabbitmq.config
, 然後按照需求更改即可。
關於每個配置項的具體作用,可以參考官方文檔。
開啟用戶遠程訪問
預設情況下,RabbitMQ的預設的guest
用戶只允許本機訪問, 如果想讓guest
用戶能夠遠程訪問的話,只需要將配置文件中的loopback_users
列表置為空即可,如下:
{loopback_users, []}
另外關於新添加的用戶,直接就可以從遠程訪問的,如果想讓新添加的用戶只能本地訪問,可以將用戶名添加到上面的列表, 如只允許admin
用戶本機訪問。
{loopback_users, ["admin"]}
restart …
查看日誌位置
systemctl status rabbitmq-server.service
這裡可以看到log文件的位置,轉到文件位置,打開文件:
這裡顯示的是沒有找到配置文件,我們可以自己創建這個文件:
cd /etc/rabbitmq/
vim rabbitmq.config
編輯內容如下:
[{rabbit, [{loopback_users, []}]}].
這裡的意思是開放使用,rabbitmq預設創建的用戶guest,密碼也是guest,這個用戶預設只能是本機訪問,localhost或者127.0.0.1,從外部訪問需要添加上面的配置。
保存配置後重啟服務:
systemctl stop rabbitmq-server.service
systemctl start rabbitmq-server.service
此時就可以從外部訪問了,但此時再看log文件,發現內容還是原來的,還是顯示沒有找到配置文件,可以手動刪除這個文件再重啟服務,不過這不影響使用:
rm rabbit\@mythsky.log
service rabbitmq-server stop
service rabbitmq-server start
註意:記得要開放5672和15672埠 (iptables版本)
/iptables -I INPUT -p tcp --dport 5672 -j ACCEPT
/iptables -I INPUT -p tcp --dport 15672 -j ACCEPT