下載
有windows版的,用得不多。
運維一般用的是tar.xz,最符合需求,但需要自己配置很多東西,有些麻煩。
我們使用最簡單的rpm即可。rpm對新手友好,環境變量什么的自動給你配好,很簡單,但安裝配置使用的都是預置選項,有些地方可能不太符合需求。
RabbitMQ是Erlang寫的,需要配置Erlang環境。查看推薦的erlang版本,然后到erlang官網下載。
源碼、文檔、windows版,這些都不是我們想要的,往下滑,找rpm安裝包
點進去選擇需要的版本下載。
安裝
1、先安裝erlang的依賴
yum install epel-release unixODBC unixODBC-devel SDL
如果不先安裝erlang的依賴,安裝erlang時會報錯:沒有提供xxx。此外erlang還需要一些依賴,安裝erlang時會自動提示,那時候再安裝。
2、安裝erlang
yum install esl-erlang_22.2.2-1~centos~8_amd64.rpm
3、安裝rabbitmq server
yum install rabbitmq-server-3.8.3-1.el8.noarch.rpm
默認安裝目錄是/usr/lib/rabbitmq,默認已經把rabbitmq安裝為服務(默認不會開機自啟)。
4、開啟rabbitmq的控制台
cd /usr/lib/rabbitmq/bin
rabbitmq-plugins enable rabbitmq_management
/usr/lib/rabbitmq/bin下的rabbitmq-plugins是管理rabbitmq插件的程序,直接調用即可,不必加./
5、修改rabbitmq的配置文件
cd /usr/lib/rabbitmq/lib/rabbitmq_server-3.8.3/ebin
vim rabbit.app #這個配置文件是json形式
/loopback搜索loopback
默認的用戶名、密碼都是guest,且guest是管理員賬號。
loopback即回環,回環地址是127.0.0.1,默認把guest賬號添加到了loopback_users中,就是說這個賬號只能在Linux本地登錄控制台。
我們把loopback_users配置數組[ ]中的<<"guest">>刪掉,這樣在其他機器上也能使用guest賬號登錄控制台。
如果是啟動rabbitmq后修改的配置文件,需要重啟rabbitmq或重新加載配置文件。
我們使用的是rpm安裝的,已經自動搞好了rabbit.app這個配置文件,如果使用源碼包自己編譯安裝,需要自己新建配置文件rabbitmq.config。
6、防火牆開啟5672、15672端口
firewall-cmd --zone=public --add-port=5672/tcp --permanent firewall-cmd --zone=public --add-port=15672/tcp --permanent firewall-cmd --reload
15672是rabbitmq控制台使用的端口,5672是rabbitmq接收、投遞消息使用的端口。
7、啟動rabbitmq
service rabbitmq-server start
瀏覽器地址輸入 Linuxip:15672 即可訪問rabbitmq控制台。默認的用戶名、密碼都是guest。
說明
rabbitmq執行命令很慢,因為RabbitMQ是運行在Erlang VM上的,很多時候要操作Erlang VM,其實很多時候我們的操作都沒問題,多等會兒就好了。
看到卡住不動了,就 service rabbitmq-server status 看下狀態:
如果是綠色的running,表示已經啟動了;如果是灰色的start,表示正在啟動,等個5、6、7、8分鍾就好了,這玩意兒啟動、關閉都超級慢。
在rabbitmq控制台里,條目的加載也很慢,比如說你點擊overview,可能要好幾秒才會加載出來,不知道的還以為這個條目本來就沒啥內容。
常見操作
1、插件管理
cd /usr/lib/rabbitmq/bin #執行的是此目錄下的rabbitmq-plugins命令
rabbitmq-plugins list #列出所有插件,前面[]中帶E或者e的,表示enable,已啟用
rabbitmq-plugins enable rabbitmq_management #啟用某個插件
2、rabbitmq的啟動、關閉
service rabbitmq-server start service rabbitmq-server stop service rabbitmq-server restart service rabbitmq-server status #查看rabbitmq的狀態,看到綠色的active (running),說明已經啟動 service rabbitmq-server reload #重新加載配置
#或者下面這種
systemctl start rabbitmq-server
systemctl stop rabbitmq-server
systemctl restart rabbitmq-server
systemctl status rabbitmq-server
#以上都是以服務的方式操作,也可以以應用的方式操作
cd /usr/lib/rabbitmq/bin
rabbitmqctl help #查看rabbitmqctl的所有命令,ctl的功能很多,包括管理用戶、設置Exchange、Queue什么的,其實ctl命令有的功能控制台也有,用控制台更加簡單。