Linux centos7 安裝 RabbitMQ
記一次在Linux centos7上安裝rabbit 的過程, 需要注意rabbit和erlang之間的版本要求。
首先Rabbit依賴erlang,高版本的Rabbbit 對erlang有要求,下載比較新的erlang就沒問題了。
本次安裝的rabbit是 3.6.9
本次安裝說明:rabbitmq-server 版本 3.9.6 下載連結https://github.com/rabbitmq/rabbitmq-server/releases/tag/rabbitmq_v3_6_9(有時候github可能第一次打不開,重新整理下就出來了)
erlang 版本 23.1 下載連結 https://www.erlang.org/downloads/23.1
準備環境,依次執行
yum -y install make gcc gcc-c++ kernel-devel m4 ncurses-devel openssl-devel
yum -y install make gcc gcc-c++ kernel m4 ncurses openssl
第一步,下載完成後將相應檔案上傳至 伺服器。
第二步,進入伺服器相應目錄下,執行安裝命令。
先安裝erlang,解壓
tar -xvf otp_src_23.1.tar.gz
進入目錄
//進入解壓後的erlang目錄
cd otp_src_23.1
//配置安裝規則 ./configure --prefix=/usr/local/erlang --with-ssl --enable-threads --enable-smp-support --enable-kernel-poll --enable-hipe --without-javac
安裝
make && make install
配置環境變數
//編輯配置檔案,
vim /etc/profile
//在檔案末尾,最後新增
export PATH=$PATH:/usr/local/erlang/bin
新增完成後退出編輯器,輸入source /etc/profile使配置生效
source /etc/profile
輸入erl
檢視是否檢查到版本資訊。能夠看到,則erl安裝成功
erlang安裝完畢,接下來安裝rabbitmq-server,這是從erlang的安裝目錄下退出,進入rabbitmqServer安裝包的同級目錄執行命令
yum install rabbitmq-server-3.6.9-1.el6.noarch.rpm
安裝完畢後,啟動服務。
service rabbitmq-server start
到這裡rabbit服務就安裝好了,接下來可以根據需要開啟相應的元件。
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
訪問: http://localhost:15672
開啟Webstomp,依次執行以下兩個命令
rabbitmq-plugins enable rabbitmq_web_stomp
rabbitmq-plugins enable rabbitmq_web_stomp_examples