Centos7安裝RabbitMQ3.8.11
安裝Erlong
RabbitMQ是erlong語言撰寫的,故安裝前需先安裝erlong語言環境,并且RabbitMQ版本有對應的erlong版本要求,
RabbitMQ和Erlong/OTP兼容性串列
下表提供了當前支持的RabbitMQ版本系列的Erlang兼容性串列,
| RabbitMQ版本 | 最低要求的Erlong/OTP | 最大支持的Erlong/OTP | 筆記 |
|---|---|---|---|
| 3.8.11 | 22.3 | 23.x | 建議使用Erlang 23.x erlang22.x放棄了對HiPE的支持 |
Erlong23.2.3下載地址:https://github.com/erlang/otp/releases/tag/OTP-23.2.3/

RabbitMQ3.8.11下載地址:https://www.rabbitmq.com/install-rpm.html#downloads

[root@iZbp1jaz33icbt3708j6yyZ opt]# ll
-rw-r--r-- 1 root root 99256874 Jan 28 17:15 otp_src_23.2.3.tar.gz
-rw-r--r-- 1 root root 15816534 Jan 28 14:12 rabbitmq-server-3.8.11-1.el7.noarch_2.rpm
[root@iZbp1jaz33icbt3708j6yyZ opt]# tar -zxvf otp_src_23.2.3.tar.gz -C /usr/local/
[root@iZbp1jaz33icbt3708j6yyZ opt]# cd /usr/local/
[root@iZbp1jaz33icbt3708j6yyZ local]# cd otp_src_23.2.3/
[root@iZbp1jaz33icbt3708j6yyZ otp_src_23.2.3]# ./otp_build autoconf
[root@iZbp1jaz33icbt3708j6yyZ otp_src_23.2.3]# ./configure && make && make install
[root@iZbp1jaz33icbt3708j6yyZ otp_src_23.2.3]# cd
Erlang/OTP 23 [erts-11.1.7] [source] [64-bit] [smp:1:1] [ds:1:1:10] [async-threads:1] [hipe]
Eshell V11.1.7 (abort with ^G)
1>
進入erlong命令串列示安裝成功
安裝RabbitMQ
安裝RabbitMQ之前必須先安裝Erlong,否則會安裝報錯
[root@iZbp1jaz33icbt3708j6yyZ ~]# rpm -Uvh https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.8.11/rabbitmq-server-3.8.11-1.el7.noarch.rpm --nodeps
Retrieving https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.8.11/rabbitmq-server-3.8.11-1.el7.noarch.rpm
warning: /var/tmp/rpm-tmp.9Howbu: Header V4 RSA/SHA256 Signature, key ID 6026dfca: NOKEY
Preparing... ################################# [100%]
Updating / installing...
1:rabbitmq-server-3.8.11-1.el7 ################################# [100%]
[root@iZbp1jaz33icbt3708j6yyZ ~]#
安裝成功
如果遇到erlang已安裝且版本正確,但是RabbitMQ檢測失敗的情況,可以追加引數 —nodeps (不驗證軟體包依賴)
啟動RabbitMQ
[root@iZbp1jaz33icbt3708j6yyZ ~]# systemctl enable rabbitmq-server
Created symlink from /etc/systemd/system/multi-user.target.wants/rabbitmq-server.service to /usr/lib/systemd/system/rabbitmq-server.service.
[root@iZbp1jaz33icbt3708j6yyZ ~]# systemctl start rabbitmq-server
[root@iZbp1jaz33icbt3708j6yyZ ~]# systemctl status rabbitmq-server
● rabbitmq-server.service - RabbitMQ broker
Loaded: loaded (/usr/lib/systemd/system/rabbitmq-server.service; enabled; vendor preset: disabled)
Active: active (running) since Sat 2021-01-30 10:30:16 CST; 13s ago
Main PID: 17325 (beam.smp)
Status: "Initialized"
CGroup: /system.slice/rabbitmq-server.service
├─17325 /usr/local/lib/erlang/erts-11.1.7/bin/beam.smp -W w -MBas ageffcbf -MHas ageffcbf -MBlmbcs 512 -MHlmbcs 512 -MMmcs 30 -P 1048576 -t 5000000 -stbt db -zdbbl 128000 -- -root /usr/local/lib/erlang -progname erl -- -home /v...
├─17340 erl_child_setup 32768
├─17365 /usr/local/lib/erlang/erts-11.1.7/bin/epmd -daemon
├─17384 inet_gethost 4
└─17385 inet_gethost 4
Jan 30 10:30:13 iZbp1jaz33icbt3708j6yyZ rabbitmq-server[17325]: ########## Licensed under the MPL 2.0. Website: https://rabbitmq.com
Jan 30 10:30:13 iZbp1jaz33icbt3708j6yyZ rabbitmq-server[17325]: Doc guides: https://rabbitmq.com/documentation.html
Jan 30 10:30:13 iZbp1jaz33icbt3708j6yyZ rabbitmq-server[17325]: Support: https://rabbitmq.com/contact.html
Jan 30 10:30:13 iZbp1jaz33icbt3708j6yyZ rabbitmq-server[17325]: Tutorials: https://rabbitmq.com/getstarted.html
Jan 30 10:30:13 iZbp1jaz33icbt3708j6yyZ rabbitmq-server[17325]: Monitoring: https://rabbitmq.com/monitoring.html
Jan 30 10:30:13 iZbp1jaz33icbt3708j6yyZ rabbitmq-server[17325]: Logs: /var/log/rabbitmq/rabbit@iZbp1jaz33icbt3708j6yyZ.log
Jan 30 10:30:13 iZbp1jaz33icbt3708j6yyZ rabbitmq-server[17325]: /var/log/rabbitmq/rabbit@iZbp1jaz33icbt3708j6yyZ_upgrade.log
Jan 30 10:30:13 iZbp1jaz33icbt3708j6yyZ rabbitmq-server[17325]: Config file(s): (none)
Jan 30 10:30:16 iZbp1jaz33icbt3708j6yyZ rabbitmq-server[17325]: Starting broker... completed with 0 plugins.
Jan 30 10:30:16 iZbp1jaz33icbt3708j6yyZ systemd[1]: Started RabbitMQ broker.
[root@iZbp1jaz33icbt3708j6yyZ ~]#
RabbitMQ啟動成功!
Web插件安裝
[root@iZbp1jaz33icbt3708j6yyZ ~]# rabbitmq-plugins enable rabbitmq_management
Enabling plugins on node rabbit@iZbp1jaz33icbt3708j6yyZ:
rabbitmq_management
The following plugins have been configured:
rabbitmq_management
rabbitmq_management_agent
rabbitmq_web_dispatch
Applying plugin configuration to rabbit@iZbp1jaz33icbt3708j6yyZ...
The following plugins have been enabled:
rabbitmq_management
rabbitmq_management_agent
rabbitmq_web_dispatch
started 3 plugins.
[root@iZbp1jaz33icbt3708j6yyZ ~]#
訪問管理頁面
http://IP:15672
賬號和密碼默認都是guest

提示當前只能本地訪問,需要配置遠程用戶才能遠程訪問,
配置遠程用戶
[root@iZbp1jaz33icbt3708j6yyZ ~]# vim /etc/rabbitmq/rabbitmq.config
[{rabbit, [{loopback_users, []}]}].
[root@iZbp1jaz33icbt3708j6yyZ ~]#
重啟RabbitMQ
[root@iZbp1jaz33icbt3708j6yyZ ~]# systemctl restart rabbitmq-server
訪問管理頁面

創建管理用戶
#添加用戶(用戶admin,密碼admin)
[root@iZbp1jaz33icbt3708j6yyZ ~]# rabbitmqctl add_user admin admin
Adding user "admin" ...
#設定用戶角色(admin為管理員)
[root@iZbp1jaz33icbt3708j6yyZ ~]# rabbitmqctl set_user_tags admin administrator
Setting tags for user "admin" to [administrator] ...
#設定用戶權限(接受來自所有Host的所有操作)
[root@iZbp1jaz33icbt3708j6yyZ ~]# rabbitmqctl set_permissions -p "/" admin '.*' '.*' '.*'
Setting permissions for user "admin" in vhost "/" ...
#查看用戶權限
[root@iZbp1jaz33icbt3708j6yyZ ~]# rabbitmqctl list_user_permissions admin
Listing permissions for user "admin" ...
vhost configure write read
/ .* .* .*
[root@iZbp1jaz33icbt3708j6yyZ ~]#
RabbitMQ常用命令
# 添加用戶
rabbitmqctl add_user <username> <password>
# 洗掉用戶
rabbitmqctl delete_user <username>
# 修改用戶密碼
rabbitmqctl change_password <username> <newpassword>
# 清除用戶密碼(該用戶將不能使用密碼登陸,但是可以通過SASL登陸如果配置了SASL認證)
rabbitmqctl clear_password <username>
# 設定用戶tags(相當于角色,包含administrator,monitoring,policymaker,management)
rabbitmqctl set_user_tags <username> <tag>
# 列出所有用戶
rabbitmqctl list_users
# 創建一個vhosts
rabbitmqctl add_vhost <vhostpath>
# 洗掉一個vhosts
rabbitmqctl delete_vhost <vhostpath>
# 列出vhosts
rabbitmqctl list_vhosts [<vhostinfoitem> ...]
# 針對一個vhosts給用戶賦予相關權限;
rabbitmqctl set_permissions [-p <vhostpath>] <user> <conf> <write> <read>
# 清除一個用戶對vhosts的權限;
rabbitmqctl clear_permissions [-p <vhostpath>] <username>
# 列出哪些用戶可以訪問該vhosts;
rabbitmqctl list_permissions [-p <vhostpath>]
# 列出用戶訪問權限;
rabbitmqctl list_user_permissions <username>
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/255329.html
標籤:其他
