1、查看系統的版本,從而選擇相應的RabbitMQ版本。
可以使用命令lsb_release -a 查詢centos版本
如果報錯lsb_release 命令無法使用則先使用yum install lsb
登陸RabbitMQ官網http://www.rabbitmq.com/install-rpm.html#install-from-esl-repository 根據相應系統版本選擇需要的版本
我使用的系統版本是CentOS Linux release 7.2.1511 (Core) 所以我選擇下載鏈接爲https://dl.bintray.com/rabbitmq/all/rabbitmq-server/3.7.5/rabbitmq-server-3.7.5-1.el7.noarch.rpm 這個版本。
2、使用wget 命令將安裝包下載到服務器本地一個文件夾中
完整命令 wget https://dl.bintray.com/rabbitmq/all/rabbitmq-server/3.7.5/rabbitmq-server-3.7.5-1.el7.noarch.rpm
3、在以往安裝RabbitMQ之前都得先安裝erlang,但是現在可以直接使用命令 yum -y install rabbitmq-server-3.7.5-1.el7.noarch.rpm 安裝RabbitMQ,安裝過程中會自動安裝相應的erlang依賴版本程序。但此前需要先更新一下erlang的安裝源,默認的安裝源版本太低。可以直接寫成一句命令,如下:
wget https://packages.erlang-solutions.com/erlang-solutions-1.0-1.noarch.rpm&&yum -y install epel-release&&rpm -Uvh erlang-solutions-1.0-1.noarch.rpm&&yum -y install rabbitmq-server-3.7.5-1.el7.noarch.rpm
4、RabbitMQ默認安裝後不是使用後臺守護進程啓動,也不是隨系統啓動的,需要用root的權限執行 sudo chkconfig rabbitmq-server on 將其修改爲後臺守護進程啓動並且隨系統啓動而啓動
5、運行RabbitMQ需要首先開放15672和5672端口【Centos升級到7之後,發現無法使用iptables控制Linuxs的端口,Centos 7使用firewall-cmd代替了原來的iptables】
(1)先啓動防火牆 systemctl start firewalld,查看防火牆啓動狀態 systemctl status firewalld
(2)開放給外部訪問15672端口 firewall-cmd --zone=public --add-port=15672/tcp --permanent 然後執行 firewall-cmd --reload
PS:如果也需要開放5672端口給外部應用使用 則需要 執行 firewall-cmd --zone=public --add-port=5672/tcp --permanent 開啓端口
6、啓動RabbitMQ服務 sudo /sbin/service rabbitmq-server start
可以使用命令 rabbitmqctl status 查看服務啓動狀態
7、啓動插件功能 sudo /sbin/rabbitmq-plugins enable rabbitmq_management ,只有啓動了插件管理功能纔可以通過web管理頁面管理RabbitMQ
8、可以使用命令rabbitmqctl list_users 查詢安裝默認的用戶,有一個guest 用戶,一個administrator管理員用戶。
但是guest用戶只可以在本機通過localhost的方式訪問,如果要通過別的機器登陸web訪問就得新加一個用戶並且授權。新加一個用戶可以使用命令rabbitmqctl add_user admin StrongPassword(其中admin 是用戶名,StrongPassword是密碼)
通過命令給用戶增加角色權限 rabbitmqctl set_user_tags qredb administrator
通過命令給用戶增加所有訪問權限 rabbitmqctl set_permissions -p "/" qredb '.*' '.*' '.*'
到此就可以通過http://<IP>:15672/訪問RabbitMQ了。
9、一些簡單的管理命令
(1) 新增一個用戶 rabbitmqctl add_user Username Password
(2) 刪除一個用戶 rabbitmqctl delete_user Username
(3) 修改用戶的密碼 rabbitmqctl change_password Username Newpassword
(4) 查看當前用戶列表 rabbitmqctl list_users
10、CentOS 7 防火牆配置命令參考
https://www.cnblogs.com/moxiaoan/p/5683743.html
https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/security_guide/sec-using_firewalls