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