RabbitMQ下載與安裝
先跟大家科普一下MQ和RabbitMQ
MQ簡介
MQ全稱為Message Queue ,即消息隊列
應用場景:
1、任務異步處理。
將不需要同步處理的並且耗時長的操作由消息隊列通知消息接收方進行異步處理。提高了應用程序的響應時間。
2、應用程序解耦合。
MQ相當於一個中介 ,生產方通過MQ與消費方交互,它將應用程序進行解耦合。
什么是RabbitMQ
RabbitMQ官方地址: http://www.rabbitmq.com/
RabbitMQ是由erlang語言開發 ,基於AMQP ( Advanced Message Queue高級消息隊列協議)協議實現的消息隊列,它是一種應用程序之 間的通信方法,消息隊列在分布式系統開發中應用非常廣泛。
下載RabbitMQ(Linux-CentOS 7)
因為RabbitMQ是由erlang語言開發,下載RabbitMQ首先要erlang的環境搭建
下載安裝包
Rabbit
可以進官方網站點上方的get Started選擇版本下載,我們已經選擇好了
erlang
wget https://packages.erlang-solutions.com/erlang-solutions-1.0-1.noarch.rpm rpm -Uvh erlang-solutions-1.0-1.noarch.rpm
rpm --import https://packages.erlang-solutions.com/rpm/erlang_solutions.asc
新建文件rabbitmq-erlang.repo
在/etc/yum.repos.d/目錄下新建一個文件rabbitmq-erlang.repo
cd /etc/yum.repos.d/
touch rabbitmq-erlang.repo
在文件中添加代碼:
[erlang-solutions]
name=CentOS $releasever - $basearch - Erlang Solutions
baseurl=https://packages.erlang-solutions.com/rpm/centos/$releasever/$basearch
gpgcheck=1
gpgkey=https://packages.erlang-solutions.com/rpm/erlang_solutions.asc
enabled=1
執行安裝
yum install erlang
執行安裝esl
yum install esl-erlang
安裝RabbitMQ
我們差不多把他的環境給搞定了
切換到上傳rabbitMQ的安裝包路徑下,執行:
rpm -ivh rabbitmq-server-3.7.7-1.el6.noarch.rpm
如果有報錯情況:
rpm -ivh rabbitmq-server-3.6.9-1.el6.noarch.rpm
error: Failed dependencies:
socat is needed by rabbitmq-server-3.6.9-1.el6.noarch
可以試試使用這條命令
rpm -ivh --nodeps rabbitmq-server-3.6.9-1.el6.noarch.rpm
還進行報錯可以到網上查閱相關信息解決
安裝完畢
查看RabbMQ狀態:service rabbitmq-server status
設置開啟啟動:sudo chkconfig rabbitmq-server on
開啟WEB管理頁面:sudo rabbitmq-plugins enable rabbitmq_management
默認WEB管理的登錄帳號和密碼統一為:guest
默認RabbitMQ擁有如下端口號:
端口號 | 簡單說明 |
---|---|
15674 | STOMP-over-WebSockets客戶端(僅當啟用了Web STOMP插件時) |
15675 | MQTT-over-WebSockets客戶端(僅當啟用了Web MQTT插件時) |
1883, 8883 | 如果啟用了MQTT插件,則沒有和使用TLS的MQTT客戶端 |
61613, 61614 | 沒有和使用TLS的STOMP客戶端(僅當啟用了STOMP插件時) |
35672-35682 | CLI工具(Erlang分發客戶端端口)用於與節點通信,並從動態范圍(計算為服務器分發端口+ 10000到服務器分發端口+ 10010)進行分配。 |
15672 | WEB管理界面 |
5672,5671 | 由AMQP 0-9-1和1.0客戶端使用,沒有和使用TLS |
4369 | epmd,RabbitMQ節點和CLI工具使用的對等發現服務 |
25672 | 用於節點間和CLI工具通信(Erlang分發服務器端口)並從動態范圍分配(默認情況下限於單個端口,計算為AMQP端口+ 20000) |
防火牆進行放出端口。
外部訪問192.168.153.128:15672/#/users
就可以進行登錄,但是我們guest只能本地登錄,所以新建賬號就好了
新建賬號
添加RabbitMQ用戶:
sudo rabbitmqctl add_user root 123456
帳號:root 密碼123456
賦予RabbitMQ用戶角色:
sudo rabbitmqctl set_user_tags root administrator
賦予用戶默認vhost的全部操作權限:
sudo rabbitmqctl set_permissions -p / root “.” “.” “.*”
查看用戶的權限:
sudo rabbitmqctl list_user_permissions username
查看全部用戶:
sudo rabbitmqctl list_users
此操作刪除guest用戶,我們自己創建新的用戶來使用
刪除用戶:
sudo rabbitmqctl delete_user guest
最后一步就是重啟動了,不要忘記重啟了!!!
service rabbitmq-server restart //重啟
service rabbitmq-server start //開啟