====== rabbitmq的安装 ====== ===== 环境 ===== cat /proc/version Linux version 4.4.0-63-generic (buildd@lcy01-31) (gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.4) ) #84-Ubuntu SMP Wed Feb 1 17:20:32 UTC 2017 ===== 安装 ===== #加rabbitmq的公钥为可信,以免稍后的安全提示 wget https://www.rabbitmq.com/rabbitmq-signing-key-public.asc sudo apt-key add rabbitmq-signing-key-public.asc #update sudo apt-get update #开始安装,rabbitmq是erlang语言开发,所以过程中会先安装erlang环境,再安装rabbitmq sudo apt-get install rabbitmq-server ===== 目录 ===== 安装目录 cd /usr/lib/rabbitmq/bin 下面有脚本 abbitmqctl rabbitmq-plugins rabbitmq-server-wait rabbitmq-defaults rabbitmq-script-wrapper rabbitmq-env rabbitmq-server 查看状态 sudo rabbitmqctl status Status of node rabbit@iZbp12rdwfbgblafgipsh5Z ... [{pid,22353}, {running_applications, [{rabbitmq_management,"RabbitMQ Management Console","3.5.7"}, {rabbitmq_management_agent,"RabbitMQ Management Agent","3.5.7"}, {rabbitmq_web_dispatch,"RabbitMQ Web Dispatcher","3.5.7"}, {webmachine,"webmachine","1.10.3-rmq3.5.7-gite9359c7"}, {mochiweb,"MochiMedia Web Server","2.7.0-rmq3.5.7-git680dba8"}, {inets,"INETS CXC 138 49","6.2"}, {amqp_client,"RabbitMQ AMQP Client","3.5.7"}, {rabbit,"RabbitMQ","3.5.7"}, {mnesia,"MNESIA CXC 138 12","4.13.3"}, {os_mon,"CPO CXC 138 46","2.4"}, {xmerl,"XML parser","1.3.10"}, {sasl,"SASL CXC 138 11","2.7"}, {stdlib,"ERTS CXC 138 10","2.8"}, {kernel,"ERTS CXC 138 10","4.2"}]}, {os,{unix,linux}}, {erlang_version, "Erlang/OTP 18 [erts-7.3] [source] [64-bit] [async-threads:64] [kernel-poll:true]\n"}, {memory, [{total,45728408}, {connection_readers,0}, {connection_writers,0}, {connection_channels,0}, {connection_other,5184}, {queue_procs,2592}, {queue_slave_procs,0}, {plugins,827232}, {other_proc,13413216}, {mnesia,59072}, {mgmt_db,254328}, {msg_index,44896}, {other_ets,1100720}, {binary,68152}, {code,20463646}, {atom,711569}, {other_system,8777801}]}, {alarms,[]}, {listeners,[{clustering,25672,"::"},{amqp,5672,"::"}]}, {vm_memory_high_watermark,0.4}, {vm_memory_limit,415485132}, {disk_free_limit,50000000}, {disk_free,36103258112}, {file_descriptors, [{total_limit,65436}, {total_used,3}, {sockets_limit,58890}, {sockets_used,1}]}, {processes,[{limit,1048576},{used,178}]}, {run_queue,0}, {uptime,991}] ===== 启动脚本 ===== sudo /usr/lib/rabbitmq/bin/rabbitmq-server -detached ===== 关闭脚本 ===== sudo /usr/lib/rabbitmq/bin/rabbitmqctl stop ===== 启用WEB管理台 ===== sudo rabbitmq-plugins enable rabbitmq_management ===== 添加用户 ===== #添加用户 sudo rabbitmqctl add_user admin admin123 #设置权限 sudo rabbitmqctl set_user_tags admin administrator ===== 访问 ===== http://121.40.171.96:15672/ {{:分享:技术:jms:1.jpeg?800|}} 输入admin/admin123 {{:分享:技术:jms:2.jpeg?800|}} ===== 设置virtual_hosts权限 ===== {{:分享:技术:jms:virtual_host_permission1.jpeg?800|}} 点击admin {{:分享:技术:jms:virtual_host_permission2.jpeg?800|}} 点击Set permission {{:分享:技术:jms:virtual_host_permission3.jpeg?800|}} {{:分享:技术:jms:virtual_host_permission4.jpeg?800|}} ===== 启用trace日志 ===== 进入目录 cd /usr/lib/rabbitmq/bin 启用tracing插件 sudo rabbitmq-plugins enable rabbitmq_tracing 这时候会发现/var/tmp/会多一个目录 /var/tmp/rabbitmq-tracing/ 但是这个目录下没有内容 开启trace开关 sudo rabbitmqctl trace_on 查看插件列表 sudo rabbitmq-plugins list 可以看到rabbitmq_tracing [E ] rabbitmq_tracing 3.5.7 在WEB管理台上新增trace log文件 {{:分享:技术:jms:trace_log1.jpeg?800|}} 新增后 {{:分享:技术:jms:trace_log2.jpeg?800|}} 点击trace_log.log,相当于访问 http://121.40.171.96:15672/api/trace-files/trace_log.log 可以在浏览器上查看日志文件 对应于linux下的路径: /var/tmp/rabbitmq-tracing/trace_log.log 发送mq日志举例 ================================================================================ 2017-06-01 13:29:53:646: Message published Node: rabbit@iZbp12rdwfbgblafgipsh5Z Connection: 101.95.108.90:51530 -> 121.40.171.96:5672 Virtual host: / User: admin Channel: 1 Exchange: direct.exchange Routing keys: [<<"server.to.client.direct.key">>] Routed queues: [<<"server.to.client.direct">>] Properties: [{<<"priority">>,signedint,0}, {<<"delivery_mode">>,signedint,2}, {<<"headers">>,table,[]}, {<<"content_encoding">>,longstr,<<"UTF-8">>}, {<<"content_type">>,longstr,<<"text/plain">>}] Payload: {"index":1,"name":"gxx1"} ================================================================================ 消费mq日志举例 ================================================================================ 2017-06-01 13:31:55:240: Message received Node: rabbit@iZbp12rdwfbgblafgipsh5Z Connection: 101.95.108.90:51928 -> 121.40.171.96:5672 Virtual host: / User: admin Channel: 1 Exchange: direct.exchange Routing keys: [<<"server.to.client.direct.key">>] Queue: server.to.client.direct Properties: [{<<"priority">>,signedint,0}, {<<"delivery_mode">>,signedint,2}, {<<"headers">>,table,[]}, {<<"content_encoding">>,longstr,<<"UTF-8">>}, {<<"content_type">>,longstr,<<"text/plain">>}] Payload: {"index":1,"name":"gxx1"} ================================================================================