RabbitMQ centos7 搭建
RabbitMQ背景知识介绍:
http://blog.csdn.net/sun305355024sun/article/details/41913105
http://blog.csdn.net/whycold/article/details/41119807
RabbitMQ中实现RPC的机制是:
- 客户端发送请求(消息)时,在消息的属性(MessageProperties,在AMQP协议中定义了14中properties,这些属性会随着消息一起发送)中设置两个值replyTo(一个Queue名称,用于告诉服务器处理完成后将通知我的消息发送到这个Queue中)和correlationId(此次请求的标识号,服务器处理完成后需要将此属性返还,客户端将根据这个id了解哪条请求被成功执行了或执行失败)
- 服务器端收到消息并处理
- 服务器端处理完消息后,将生成一条应答消息到replyTo指定的Queue,同时带上correlationId属性
- 客户端之前已订阅replyTo指定的Queue,从中收到服务器的应答消息后,根据其中的correlationId属性分析哪条请求被执行了,根据执行结果进行后续业务处理
环境 centos7,有网络访问
由于RabbitMQ需要erlang环境的支持,所以你懂得
1.erlang安装 (需要权限)
rpm -Uvh http://www.rabbitmq.com/releases/erlang/erlang-18.1-1.el7.centos.x86_64.rpm
2.RabbitMQ安装
rpm -Uvh http://www.rabbitmq.com/releases/rabbitmq-server/v3.5.6/rabbitmq-server-3.5.6-1.noarch.rpm
查看rabbitmq-server有没有安装好,能查到说明已经安装成功了
rpm -qa|grep rabbitmq
开启rabbit-server用以下命令:
service rabbitmq-server start
关掉服务的话用:
service rabbitmq-server stop
用以下命令查看rabbit-server当前状态:
rabbitmqctl status
用以下命令安装维护插件:
rabbitmq-plugins enable rabbitmq_management
再进入http://外网ip:15672/ ,用户名和密码都是guest。
网上说这样就能进去,本人亲测进不去。找了下资料说guest账户只能http://localhost:15672/ 的方式进入,需要修改配置。
官网:http://www.rabbitmq.com/access-control.html
最后是自己又创建了一个账户,赋予管理员权限。
rabbitmqctl add_user username password
rabbitmqctl set_user_tags username administrator
创建完后用以下命令查看创建完的账号
rabbitmqctl list_users
删除用户
rabbitmqctl delete_user username
修改密码
rabbitmqctl oldPassword Username newPassword
再回到http://外网ip:15672/ 用刚才的用户名和密码登陆就能进去了。