centos下安装RabbitMQ 有更新!

  aluaa

    RabbitMQ是一个基于ErLang语言和AMQP(Advanced Message Queuing Protocol)传输协议开发的高并发的消息队列服务程序,官方文档比较齐全,而且对于常用的Python、php、Java、.NET语言都有很好的扩展库可以使用,所以使用起来还是相当方便的。下面介绍的是centos下的安装,其实官方也有比较详细的安装教程(可以参考:http://www.rabbitmq.com/download.html),但部分细节很容易被人们忽略,步入正题。

    由于RabbitMQ是基于Erlang语言开发的,所以要使用RabbitMQ的前提当然是要安装其运行环境,centos下很方便,直接yum方式安装就好了

    1
    yum install erlang
    安装完ErLang,就可以直接安装RabbitMQ了,可以下载官方的rpm编译好的软件包(参见:http://www.rabbitmq.com/install-rpm.html)

    1
    wget http://www.rabbitmq.com/releases/rabbitmq-server/v3.3.5/rabbitmq-server-3.3.5-1.noarch.rpm
    2
    yum install rabbitmq-server-3.3.5-1.noarch.rpm
    加入开机启动服务

    1
    chkconfig rabbitmq-server on
    然后启动

    1
    service rabbitmq-server start
    以上RabbitMQ就安装完了,但如果只是这样好像这篇文章写上来就没什么意义了,因为这些官方安装都有说明。没错很多时候我们需要进行管理,在没有安装客户端时,使用web管理是个很方便的事情,而默认RabbitMQ的web管理并非启用的,而且其其它功能都是通过插件的形式进行扩展的,要查看web管理是否启用,运行

    1
    rabbitmq-plugins list -e
    如果打印的列表中没有rabbitmq_management,需要开启该插件才可以使用,运行

    1
    rabbitmq-plugins enable rabbitmq_management
    以上似乎要结束了,等等可能当你输入geust账号和密码登陆时发现不能登陆,其它程序调用连接时也无法连接,这是因为出于安全原因,官方默认是禁止guest进行远程登陆访问的(仅限于localhost,参见:http://www.rabbitmq.com/access-control.html)。
    上面的链接中官方也很明确的说明的建议删除guest用户创建一个新用户,如

    1
    rabbitmqctl delete_user guest
    2
    rabbitmqctl add_user admin 123456
    3
    rabbitmqctl set_user_tags admin administrator
    (rabbitmqctl详解可参见:http://www.rabbitmq.com/man/rabbitmqctl.1.man.html)

    当然如果你执意要使用guest进行远程访问,建议修改密码,如

    1
    rabbitmqctl change_password guest 123456
    然后在配置文件/etc/rabbitmq/rabbitmq.config中(可能不存在,新建即可使用)添加:

    1
    [{rabbit, [{loopback_users, []}]}].
    然后重启rabbitmq-service服务

    1
    service rabbitmq-service restart
    这个时候在浏览器输入http://{server_name}:15672/进行访问,使用刚刚设置的账号登陆就可以进行管理了

    补充说明:

    1、RabbitMQ服务的web管理访问端口默认是15672(3.0以前是55672),你可以通过修改/etc/rabbitmq/rabbitmq.config配置文件,例如更改端口为8888,在配置中添加

    1
    {rabbitmq_management, [{listener, [{port, 8888}]}]}
    当然需要注意格式上面是在原基础添加的,可参考官方示例/usr/share/doc/rabbitmq-server-3.3.5/rabbitmq.config.example

    web管理配置其它设置可参见:http://www.rabbitmq.com/mochiweb.html

    2、RabbitMQ服务端口默认为5672,当然也可以通过修改上面的配置文件进行修改,例如更改为5673端口,在配置中添加

    1
    {rabbit, [{tcp_listeners, [5673]}]}
    3、使用请参见官方教程,http://www.rabbitmq.com/getstarted.html