消息队列服务rabbitmq安装配置

  • A+
所属分类:Linux

一. 安装erlang
Rabbitmq基于erlang语言开发,因此需要安装erlang虚拟机
1.通过yum安装

2.通过源码包安装

二. 安装rabbitmq
1. 通过yum安装

2. 通过源码包安装
wget http://www.rabbitmq.com/releases/rabbitmq-server/v3.1.3/rabbitmq-server-generic-unix-3.1.3.tar.gz //免安装包,解压就可以用了

三. 配置
/usr/local/rabbitmq/sbin目录下
rabbitmq-env 环境配置
rabbitmq-defaults 默认参数设置
rabbitmqctl 管理工具
rabbitmq-plugins 插件管理工具
rabbitmq-server rabbitmq服务

# vim rabbitmq-defaults

主要配置文件
1. enabled_plugins:设置允许的插件列表,格式如下:

2. rabbitmq.config:设置rabbitmq运行参数。结构为hash数组格式。如

其中几个关键参数为:
tcp_listerners 设置rabbimq的监听端口,默认为[5672]。
disk_free_limit 磁盘低水位线,若磁盘容量低于指定值则停止接收数据,默认值为{mem_relative, 1.0},即与内存相关联1:1,也可定制为多少byte.
vm_memory_high_watermark,设置内存低水位线,若低于该水位线,则开启流控机制,默认值是0.4,即内存总量的40%。
hipe_compile 将部分rabbimq代码用High Performance Erlang compiler编译,可提升性能,该参数是实验性,若出现erlang vm segfaults,应关掉。
force_fine_statistics, 该参数属于rabbimq_management,若为true则进行精细化的统计,但会影响性能。
/usr/local/etc/rabbitmq/rabbitmq.config
[{auth_backends,[rabbit_auth_backend_internal]},
{auth_mechanisms,['PLAIN','AMQPLAIN']},
{backing_queue_module,rabbit_variable_queue},
{cluster_nodes,[]},
{collect_statistics,fine},
{collect_statistics_interval,5000},
{default_permissions,[<<".*">>,<<".*">>,<<".*">>]},
{default_user,<<"guest">>},
{default_user_tags,[administrator]},
{default_vhost,<<"/">>},
{delegate_count,16},
{error_logger,{file,"/usr/local/var/log/rabbitmq/rabbit@Technophiliac.log"}},
{frame_max,131072},
{hipe_compile,false},
{included_applications,[]},
{msg_store_file_size_limit,16777216},
{msg_store_index_module,rabbit_msg_store_ets_index},
{queue_index_max_journal_entries,262144},
{sasl_error_logger,{file,"/usr/local/var/log/rabbitmq/rabbit@Technophiliac-sasl.log"}},
{server_properties,[]},
{ssl_listeners,[]},
{ssl_options,[]},
{tcp_listen_options,
[binary,
{packet,raw},
{reuseaddr,true},
{backlog,128},
{nodelay,true},
{exit_on_close,false}]},
{tcp_listeners,[5672]},
{trace_vhosts,[<<"/">>]},
{vm_memory_high_watermark,0.4}]
3. rabbitmq-env.conf rabbitmq环境参数配置

更详细的配置参见: http://www.rabbitmq.com/configure.html#configuration-file

4. 启动

四. rabbitmq插件管理
启用rabbitmq web管理插件

列出所有插件

五. 安装php的rabbitmq扩展

六. php操作实例
1. 创建队列

2. 获取队列信息

执行后输出信息如下:
array(2) {
[0]=>
string(12) "Hello World!"
[1]=>
string(6) "DIRECT"
}

七. 查看队列信息
1. 查看exchange信息

2. 查看队列信息

3. 查看绑定信息

八. 日志轮转

转载请注明出处: http://www.ttlsa.com/html/1656.html

weinxin
微信公众号
扫一扫关注运维生存时间公众号,获取最新技术文章~
默北

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

目前评论:7   其中:访客  5   博主  0   引用   2

    • xhyujian 9

      启动报错 Warning: PID file not written; -detached was passed.

        • 拎包背着走 0

          @xhyujian 我也遇到了这个问题,您解决了吗

            • testz 9

              @拎包背着走 /var/lib/rabbitmq/mnesia/*.pid
              /etc/init.d/rabbitmq-server start 这样启动就不报错了.

                • 0

                  @testz 按照 /etc/init.d/rabbitmq-server start 启动,报错,如下
                  Starting rabbitmq-server: FAILED – check /var/log/rabbitmq/startup_{log, _err}
                  rabbitmq-server.

                  请问你是怎么解决 执行 rabbitmq-server -detached 命令报出来的告警呢,
                  Warning: PID file not written; -detached was passed.

                  另外我尽管出现了上面的告警,但是查看rabbitmqctl status 状态时,发现进程是正常的

            • SXY 9

              good

            • 来自外部的引用: 2

              • 大规模web架构gearman分布式处理应用案例
              • » 消息队列Rabbitmq安装配置 Greg's Blog