下載
有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命令有的功能控制枱也有,用控制枱更加簡單。