rabbitmq是erlang語言編寫的,安裝rabbitmq之前,需要先安裝erlang,這裏用erlang的原始碼進行安裝,erlang安裝包官網下載地址:http://erlang.org/download/
1、下載安裝包(otp_src_19.3.tar.gz)然後上傳至Linux伺服器
2、定位到安裝包所在目錄,並解壓。
cd /home/root
tar -zxvf otp_src_19.3.tar.gz
3、安裝必要的環境(在編譯之前,必須安裝以下依賴包)
yum install -y make gcc gcc-c++ m4 openssl openssl-devel ncurses-devel unixODBC unixODBC-devel java java-devel
4、編譯並安裝
cd otp_src_19.3
./configure --prefix=/home/root/erlang
make && make install
成功安裝後,erlang目錄下會出現lib和bin子目錄
5、設定環境變數
vim /etc/profile
######### 新增如下內容 ###############
PATH=$PATH:/home/root/erlang/bin
########################################
source /etc/profile #重新載入組態檔
6、驗證erlang是否成功安裝
輸入erl,得到如下圖所示介面:
輸入 halt(). 退出erlang介面
安裝之前,需要去官網檢視一下rabbitmq版本對erlang版本的一個支援情況,官網地址:http://www.rabbitmq.com/which-erlang.html
1、下載rabbitmq安裝包(rabbitmq-server-generic-unix-3.7.5.tar.xz),然後上傳至Linux伺服器
2、定位到安裝包所在目錄,並解壓。
cd /home/root
tar -xvf rabbitmq-server-generic-unix-3.7.5.tar.xz
3、設定環境變數
- vim /etc/profile
- ######### 新增如下內容 ###############
- PATH=$PATH:/home/root/rabbitmq_server-3.7.5/sbin
- ########################################
- source /etc/profile #重新載入組態檔
- #新增web管理外掛
- rabbitmq-plugins enable rabbitmq_management
4、新增組態檔
預設rabbitmq是沒有組態檔的,需要去官方github上,複製一個組態檔模版過來,將組態檔複製到 /home/root/rabbitmq_server-3.7.5/etc/rabbitmq/ 下,更改檔名稱爲 rabbitmq.conf
github地址:https://github.com/rabbitmq/rabbitmq-server/tree/master/docs
5、啓動rabbitmq服務
# 後臺啓動rabbitmq服務 rabbitmq-server detached rabbitmqctl status ##檢視下狀態
啓動時若出現以下情況:
在rabbitmq安裝位置下的/etc/rabbitmq 新建檔案 rabbitmq-env.conf
在rabbitmq-env.conf檔案中新增一行內容:
NODENAME=rabbit@localhost
儲存並啓動
6、開放埠
rabbitmq預設的埠是5672,管理介面預設埠是15672
firewall-cmd --zone=public --add-port=5672/tcp --permanent
firewall-cmd --zone=public --add-port=15672/tcp --permanent
firewall-cmd --reload #重新啓動防火牆
此時就可以通過 ip:15672去存取管理介面,預設的賬號密碼都是guest,但是這個使用者只能用localhost地址去存取,所以我們需要新增使用者(或修改rabbitmq.conf取消存取限制)
7、新增使用者
cd /home/root/rabbitmq_server-3.7.5/sbin
./rabbitmqctl add_user admin 123456 #建立使用者
./rabbitmqctl set_user_tags admin administrator #賦予管理員許可權
8、修改rabbitmq.conf取消存取限制
rabbitmq.conf中,loopback_users這個項就是控制存取的,如果只是取消guest使用者的話,
只需設定loopback_users.guest = false 即可。
通過http://ip:15672存取管理介面
1、在/etc/init.d 目錄下新建一個 指令碼檔案rabbitmq
vim rabbitmq
指令碼檔案內容如下:
#!/bin/bash
#RabbitMQ安裝目錄
RABBITMQ_HOME=/home/root/rabbitmq_server-3.7.5
export RABBITMQ_HOME
case "$1" in
start)
echo "Starting RabbitMQ ..."
cd $RABBITMQ_HOME/sbin
rabbitmq-server
;;
stop)
echo "Stopping RabbitMQ ..."
cd $RABBITMQ_HOME/sbin
rabbitmqctl stop
;;
status)
echo "Status RabbitMQ ..."
cd $RABBITMQ_HOME/sbin
rabbitmqctl status
;;
restart)
echo "Restarting RabbitMQ ..."
cd $RABBITMQ_HOME/sbin
rabbitmq-server
;;
*)
echo "Usage: $prog {start|stop|status|restart}"
;;
esac
exit 0
2、賦予指令碼檔案可執行許可權
chmod 777 rabbitmq
3.、新增rabbitmq服務到系統服務中
chkconfig --add rabbitmq
4、設定自啓動
chkconfig rabbitmq on
5、檢視自啓動項是否設定成功
chkconfig --list rabbitmq
檢視狀態:
sudo rabbitmqctl status停止rabbitmq:
sudo rabbitmqctl stop啓動:
sudo rabbitmq-server detached
外掛管理:
外掛列表: rabbitmq-plugins list
啓動外掛: rabbitmq-plugins enable XXX (XXX爲外掛名)
停用外掛: rabbitmq-plugins disable XXX
使用者管理:
新增使用者: rabbitmqctl add_user username password
刪除使用者: rabbitmqctl delete_user username
修改密碼: rabbitmqctl change_password username newpassword
設定使用者角色: rabbitmqctl set_user_tags username tag
列出使用者: rabbitmqctl list_users
許可權管理:
列出所有使用者許可權: rabbitmqctl list_permissions
檢視制定使用者許可權: rabbitmqctl list_user_permissions username
清除使用者許可權: rabbitmqctl clear_permissions [-p vhostpath] username
設定使用者許可權: rabbitmqctl set_permissions [-p vhostpath] username conf write read
conf: 一個正則匹配哪些資源能被該使用者存取
write:一個正則匹配哪些資源能被該使用者寫入
read:一個正則匹配哪些資源能被該使用者讀取