os:centos6.5
rabbitmq:3.6.10
erlang/otp:19.3

安装erlang

##pre
#yum install ncurses-devel
#yum install openssl-devel
#yum install java-devel
#yum install unixODBC-devel
#yum install gcc-c++


##安装erlang运行环境
#wget http://www.erlang.org/download/otp_src_19.3.tar.gz
#tar -zxf otp_src_19.3.tar.gz
#cd otp_src_19.3
#export ERL_TOP=`pwd`
#./configure
#make
#make install

问题和解决方案

  1. 出现错误大致为:  No curses library functions found 
    解决方案见安装erlang章节
  2. crypto         : No usable OpenSSL found
    jinterface     : No Java compiler found
    odbc           : ODBC library - link check failed
    orber          : No C++ compiler found
    ssh            : No usable OpenSSL found
    ssl            : No usable OpenSSL found
    解决方案见安装erlang章节

  3. wx             : wxWidgets not found, wx will NOT be usable|
    解决方案如下

    ##precondition
    #yum install gtk2-devel
    #yum install mesa*  
    
    #wget --no-check-certificate https://github.com/wxWidgets/wxWidgets/releases/download/v3.0.3/wxWidgets-3.0.3.tar.bz2
    #bzip2 -d wxWidgets-3.0.3.tar.bz2
    #tar -xf wxWidgets-3.0.3.tar
    #cd wxWidgets-3.0.3
    #./configure --with-opengl --enable-debug --enable-unicode
    #make & make install
  4. fop is missing.
                     Using fakefop to generate placeholder PDF files.

安装rabbitmq

##安装rabbitmq
#wget https://www.rabbitmq.com/releases/rabbitmq-server/v3.6.10/rabbitmq-server-generic-unix-3.6.10.tar.xz
#xz -d rabbitmq-server-generic-unix-3.6.10.tar.xz
#tar -xf rabbitmq-server-generic-unix-3.6.10.tar
#mv rabbitmq_server-3.6.10 rabbitmq3610
#cd rabbitmq3610

rabbitmq启动和停止

##启动
#/sbin/rabbit-server start
##停止
#/sbin/rabbit-server stop
##重启动
#/sbin/rabbit-server restart

安装web管理界面

# ./sbin/rabbitmq-plugins enable rabbitmq_management
The following plugins have been enabled:
  mochiweb
  webmachine
  rabbitmq_web_dispatch
  amqp_client
  rabbitmq_management_agent
  rabbitmq_management
Plugin configuration has changed. Restart RabbitMQ for changes to take effect.

创建一个test账号,并支持远程IP访问

##默认账号/密码 guest/guest 不支持远程IP访问,只支持localhost访问
##创建账号test;密码123456
#./rabbitmqctl add_user test 123456
##设置管理员权限
#./rabbitmqctl set_user_tags test administrator
##支持远程IP访问
#./rabbitmqctl set_permissions -p "/" test ".*" ".*" ".*"

打开 http://192.168.5.101:15672,输入test/123456,界面如下

linux安装rabbitmq实录_erlang

rabbitmq管理

Rabbitmq服务器的主要通过rabbitmqctl和rabbimq-plugins两个工具来管理,以下是一些常用功能

服务器启动与关闭

  • 启动: rabbitmq-server –detached
  • 关闭:rabbitmqctl stop
  • 若单机有多个实例,则在rabbitmqctlh后加–n 指定名称

插件管理

  • 开启某个插件:rabbitmq-plugins enable xxx (如 rabbitmq_management)
  • 关闭某个插件:rabbitmq-plugins disablexxx

注意:重启服务器后生效。

virtual_host管理

  • 新建virtual_host: rabbitmqctladd_vhost xxx
  • 撤销virtual_host:rabbitmqctl delete_vhost xxx

  1. 用户管理

    • 新建用户:rabbitmqctl add_user xxxpwd

    • 删除用户: rabbitmqctl delete_user xxx

    • 改密码: rabbimqctlchange_password {username} {newpassword}

    • 设置用户角色:rabbitmqctlset_user_tags {username} {tag ...}

    • Tag可以为 administrator,monitoring, management

  2. 权限管理

    • Read

    • Write

    • Conf

    • Vhostpath

    • Vhost路径

    • user

    • 权限设置:set_permissions [-pvhostpath] {user} {conf} {write} {read}

    • 用户名

    • 一个正则表达式match哪些配置资源能够被该用户访问。

    • 一个正则表达式match哪些配置资源能够被该用户读。

    • 一个正则表达式match哪些配置资源能够被该用户访问。

  3. 获取服务器状态信息

    • Channelinfoitem有consumer_count,messages_unacknowledged,messages_uncommitted,acks_uncommitted,messages_unconfirmed,prefetch_count,client_flow_blocked

    • Connectioninfoitem有:recv_oct,recv_cnt,send_oct,send_cnt,send_pend等。

    • Bindinginfoitem有:source_name,source_kind,destination_name,destination_kind,routing_key,arguments

    • Exchangeinfoitem有:name,type,durable,auto_delete,internal,arguments.

    • Queueinfoitem可以为:name,durable,auto_delete,arguments,messages_ready,messages_unacknowledged,messages,consumers,memory

    • 服务器状态:rabbitmqctl status

    • 队列信息:rabbitmqctl list_queues[-p vhostpath] [queueinfoitem ...]

    • Exchange信息:rabbitmqctllist_exchanges[-p vhostpath] [exchangeinfoitem ...]

    • Binding信息:rabbitmqctllist_bindings[-p vhostpath] [bindinginfoitem ...]

    • Connection信息:rabbitmqctllist_connections [connectioninfoitem ...]

    • Channel信息:rabbitmqctl list_channels[channelinfoitem ...]

 

  1.