RabbitMQ是一個開源的強大的企業消息系統,支持主流的操作系統,支持多種開發語言。我們項目中使用RabbitMQ作為消息隊列,解耦業務,構建高可靠的消息隊列系統。RabbitMQ可以用在訂單系統、日志系統、數據收集等常見場景中。
本文我們介紹如何在CentOS上安裝當前最新版的RabbitMQ:v3.8.1,以及如何使用Docker來安裝RabbitMQ。
安裝RabbitMQ
安裝 RabbitMQ 之前要安裝 Erlang,需要先到RabbitMQ官網看下版本對應關系。
當前最新版rabbitmq-server是rabbitmq-server-3.8.1-1.el7.noarch.rpm,最新版Erlang是erlang-22.2.1-1.el7.x86_64.rpm。我們可以分別在Github和RabbitMQ官網下載對應的版本的rpm包。
下載好rpm包后,接下來我們使用rpm進行安裝。
首先安裝依賴socat,安裝Erlang時需要這個。
yum install -y socat
接下來安裝Erlang和RabbitMQ。
rpm -ivh erlang-22.2-1.el7.x86_64.rpm
rpm -ivh rabbitmq-server-3.8.1-1.el7.noarch.rpm
執行上述兩行命令后,即完成了Erlang和RabbitMQ的安裝,就這么簡單。
啟動RabbitMQ:
systemctl start rabbitmq-server
設置RabbitMQ開機自啟動:
systemctl enable rabbitmq-server
RabbitMQ其他操作:
#查看啟動后的情況
rabbitmqctl status
#關閉服務
rabbitmqctl stop
#重啟rabbitmq
systemctl restart rabbitmq-server
配置RabbitMQ
1.啟用網頁版后台管理插件:
rabbitmq-plugins enable rabbitmq_management
2.新建一個用戶名為admin,密碼為admin的管理員,並授予管理員(administrator)權限。
rabbitmqctl add_user admin admin
rabbitmqctl set_user_tags admin administrator
3.設置admin可以使用的虛機權限。
rabbitmqctl add_vhost admin
rabbitmqctl set_permissions -p admin admin ".*" ".*" ".*"
4.插件管理:
#插件列表:
rabbitmq-plugins list
#啟動插件:
rabbitmq-plugins enable XXX (XXX為插件名)
#停用插件:
rabbitmq-plugins disable XXX
5.打開后台web管理界面:http://localhost:15672/,剛才我們設置了admin用戶,所以可以使用admin登錄,也可以使用默認賬號和密碼都是guest登錄。進入管理界面后可以看到:
我們可以在后台管理用戶、隊列等信息。
6.修改RabbitMQ默認端口
RabbitMQ默認開啟了幾個端口:
4369
:erlang發現口
5672
:client端通信口,客戶端要連接RabbitMQ服務時要用到
15672
:后台管理界面ui端口,進入管理后台時訪問url如:http://localhost:15672/
25672
:server間內部通信口
有時候在生產環境下,我們出於安全等原因希望修改掉默認的端口號。
我們安裝新版的RabbitMQ-3.8.1后,發現找不到它的配置文件,按常理,服務的端口開發都可以在配置文件里配置的。但是事實上RabbitMQ-3.8.1並沒有生成配置文件,需要我們手動添加配置文件。
官方建議配置文件的位置:/etc/rabbitmq/rabbitmq.conf
我們現在要做的是把默認端口5672改成56720,並且允許遠程訪問。把web管理默認端口15672改成56271。只需如下配置:
#vim /etc/rabbitmq/rabbitmq.conf
#AMQP 0-9-1 and 1.0 port,默認5672,允許遠程訪問
listeners.tcp.default = 0.0.0.0:56720
#web管理,默認15672
management.tcp.port = 56721
management.tcp.ip = 0.0.0.0
保存,並重啟RabbitMQ服務。使用netstat -lntp
查看端口監聽情況:
7.其他配置
我們可以到官網地址:https://www.rabbitmq.com/configure.html,了解RabbitMQ的性能優化方面的配置。
使用Docker安裝RabbitMQ
首先,我們得安裝docker環境,docker環境的安裝本站后面會有文章介紹,本文假設你的機器上已經安裝好了docker環境。
先拉取RabbitMQ鏡像:
docker pull rabbitmq:3.8.1-management
然后查看鏡像:
docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
rabbitmq 3.8.1-management 36ed80b6a1b1 5 weeks ago 180MB
然后運行容器:
docker run --name rabbitmq -d -p 5672:5672 -p 15672:15672 -v /data:/var/lib/rabbitmq rabbitmq:3.8.1-management
最后,使用docker ps
查看運行的容器。
這樣,一個RabbitMQ的docker環境就裝好了。
接下來我們將有文章介紹RabbitMQ在項目中的實際應用,敬請關注。