====== 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"}
================================================================================