RabbitMQ是流行的開源消息隊列系統,是AMQP(Advanced Message Queuing Protocol高級消息隊列協議)的標準實現,用erlang語言開發。 因爲RabbitMQ是基於Erlang語言開發,因此在安裝RabbitMQ以前,須要先安裝Erlang wget http://www.rabbitmq.com/releases/erlang/erlang-19.0.4-1.el7.centos.x86_64.rpm 執行下面命令升級上步下載的rpm軟件包 rpm -ivh erlang-19.0.4-1.el7.centos.x86_64.rpm 執行下面命令安裝erlang yum -y install erlang 測試Erlang是否安裝成功 [root@localhost src]# erl -version Erlang (SMP,ASYNC_THREADS,HIPE) (BEAM) emulator version 8.0.3 安裝RabbitMQ [root@localhost src]#yum -y install rabbitmq-server-3.6.6-1.el6.noarch.rpm 後臺運行rabbitmq [root@localhost src]rabbitmq-server –detached 設爲開機啓動 [root@localhost src]chkconfig rabbitmq-server on 啓動rabbitmq服務 [root@localhost sbin]# service rabbitmq-server start 查看狀態 rabbitmqctl status 查看目前RabbitMQ已安裝插件 [root@localhost sbin]# ./rabbitmq-plugins list 這樣雖然咱們已經將rabbitmq的服務正常啓動了,可是咱們在物理機的瀏覽器中輸入ip:15672時,並不能鏈接,由於咱們尚未配置維護插件和開啓遠程鏈接 安裝web管理端 [root@localhost sbin]# rabbitmq-plugins enable rabbitmq_management 設置配置文件,並開啓用戶遠程訪問#cd /etc/rabbitmq #cp /usr/share/doc/rabbitmq-server-3.5.6/rabbitmq.config.example /etc/rabbitmq/ #mv rabbitmq.config.example rabbitmq.config vi /etc/rabbitmq/rabbitmq.config service rabbitmq-server restart 新建一個用戶名爲admin,密碼爲admin的用戶,並授予管理員(administrator)權限 [root@localhost sbin]# rabbitmqctl add_user admin admin [root@localhost sbin]# rabbitmqctl set_user_tags admin administrator 經過瀏覽器訪問地址:http://192.168.10.92:15672/#/ 設置權限 rabbitmqctl add_vhost admin rabbitmqctl set_permissions -p admin admin ".*" ".*" ".*" 註釋:主要是set_permissions的使用,先看下命令的格式 set_permissions [-p vhost] {user} {conf} {write} {read} 須要注意如下幾點的理解: • 1.這裏的權限,只是針對通常用戶的訪問權限,注意和角色的區分。舉個例子來講,非管理用戶(普通用戶),角色設置爲none,而後在這裏配置conf、write、read的權限。 • 2.conf、write、read採用正則表達式,這裏的正則主要是針對exchange和queue。主要2種特殊的表達式: ^$:表示徹底不匹配(即沒有權限) .*:表示匹配全部(即全部權限) 錯誤信息:輸入service rabbitmq-server start 啓動命令後 出現下面錯誤信息 Job for rabbitmq-server.service failed. See ‘systemctl status rabbitmq-server.service’ and ‘journalctl -xn’ for details. 解決方案: 將5672端口加入防火牆白名單 firewall-cmd --permanent --add-port=5672/tcp firewall-cmd --reload setsebool -P nis_enabled 1 粗暴一點的方法就是直接關閉防火牆,關閉seLinux systemctl stop firewalld setenforce 0 錯誤2、出現登陸頁面後,輸入guest帳戶信息後,不能登陸。 這是由於咱們沒有開啓遠程用戶訪問,這個解決方案,在上面步驟中已經列出,再也不重複。
轉載自:web
https://blog.csdn.net/hao134838/article/details/71512557正則表達式
https://blog.csdn.net/cool_summer_moon/article/details/78803661centos