RabbitMQ配置(V5.30)

来源:互联网 发布:淘宝解id锁会退钱吗 编辑:程序博客网 时间:2024/05/30 23:22

引言

下文中的两个重要且极易混淆的名词做一个说明。

RabbitMQ Server:这个名词的意思是你安装rabbitmq-server-3.1.3.exe这种应用程序的结果,一般结果会产生在\RabbitMQ Server\rabbitmq_server-3.1.3这样的文件夹中。是RabbitMQ的全部实体。

RabbitMQ服务:这个词的意思是指它是一个Windows服务,可以启动,停止,重启等。这个服务可以在命令行下面有rabbitmq-service命令执行来得到。

RabbitMQ Server的配置

RabbitMQ是由RabbitMQ Server创建的一个Windows服务,而RabbitMQ Server也有自己的配置,而且这个配置是起基础作用的,会最先执行。

这个配置就是RabbitMQ的默认配置。

具体的配置文件是:\RabbitMQ Server\rabbitmq_server-3.1.3\ebin  中的rabbit_app.inrabbit.app这两个文件。这里面有详细的基础配置,你如果要修改RabbitMQ的配置,直接在这里修改最好(前提是你别忘记把默认配置保存一份副本)。

以rabbit.app为例:

{application,rabbit,    [{description,"RabbitMQ"},     {id,"RabbitMQ"},     {vsn,"3.1.3"},     {modules,         [app_utils,background_gc,credit_flow,delegate,delegate_sup,dtree,          file_handle_cache,gatherer,gen_server2,gm,gm_soak_test,          gm_speed_test,gm_tests,lqueue,mirrored_supervisor,          mirrored_supervisor_tests,mnesia_sync,mochijson2,mochinum,pg2_fixed,          pg_local,pmon,priority_queue,rabbit,rabbit_access_control,          rabbit_alarm,rabbit_amqqueue,rabbit_amqqueue_process,          rabbit_amqqueue_sup,rabbit_auth_backend,          rabbit_auth_backend_internal,rabbit_auth_mechanism,          rabbit_auth_mechanism_amqplain,rabbit_auth_mechanism_cr_demo,          rabbit_auth_mechanism_plain,rabbit_autoheal,rabbit_backing_queue,          rabbit_backing_queue_qc,rabbit_basic,rabbit_binary_generator,          rabbit_binary_parser,rabbit_binding,rabbit_channel,          rabbit_channel_sup,rabbit_channel_sup_sup,rabbit_client_sup,          rabbit_command_assembler,rabbit_connection_sup,rabbit_control_main,          rabbit_ctl_usage,rabbit_direct,rabbit_disk_monitor,          rabbit_error_logger,rabbit_error_logger_file_h,rabbit_event,          rabbit_exchange,rabbit_exchange_decorator,rabbit_exchange_type,          rabbit_exchange_type_direct,rabbit_exchange_type_fanout,          rabbit_exchange_type_headers,rabbit_exchange_type_invalid,          rabbit_exchange_type_topic,rabbit_file,rabbit_framing,          rabbit_framing_amqp_0_8,rabbit_framing_amqp_0_9_1,rabbit_guid,          rabbit_heartbeat,rabbit_limiter,rabbit_log,rabbit_memory_monitor,          rabbit_mirror_queue_coordinator,rabbit_mirror_queue_master,          rabbit_mirror_queue_misc,rabbit_mirror_queue_mode,          rabbit_mirror_queue_mode_all,rabbit_mirror_queue_mode_exactly,          rabbit_mirror_queue_mode_nodes,rabbit_mirror_queue_slave,          rabbit_mirror_queue_slave_sup,rabbit_mirror_queue_sync,rabbit_misc,          rabbit_mnesia,rabbit_msg_file,rabbit_msg_store,          rabbit_msg_store_ets_index,rabbit_msg_store_gc,          rabbit_msg_store_index,rabbit_net,rabbit_networking,          rabbit_node_monitor,rabbit_nodes,rabbit_parameter_validation,          rabbit_plugins,rabbit_plugins_main,rabbit_plugins_usage,          rabbit_policy,rabbit_policy_validator,rabbit_prelaunch,          rabbit_queue_collector,rabbit_queue_index,rabbit_reader,          rabbit_registry,rabbit_restartable_sup,rabbit_router,          rabbit_runtime_parameter,rabbit_runtime_parameters,          rabbit_runtime_parameters_test,rabbit_sasl_report_file_h,rabbit_ssl,          rabbit_sup,rabbit_table,rabbit_tests,rabbit_tests_event_receiver,          rabbit_trace,rabbit_types,rabbit_upgrade,rabbit_upgrade_functions,          rabbit_variable_queue,rabbit_version,rabbit_vhost,rabbit_vm,          rabbit_writer,supervisor2,supervisor2_tests,tcp_acceptor,          tcp_acceptor_sup,tcp_listener,tcp_listener_sup,test_sup,          vm_memory_monitor,worker_pool,worker_pool_sup,worker_pool_worker]},     {registered,         [rabbit_amqqueue_sup,rabbit_log,rabbit_node_monitor,rabbit_router,          rabbit_sup,rabbit_tcp_client_sup,rabbit_direct_client_sup]},     {applications,[kernel,stdlib,sasl,mnesia,os_mon,xmerl]},     {mod,{rabbit,[]}},     {env,         [{hipe_compile,false},          {tcp_listeners,[5673]},          {ssl_listeners,[]},          {ssl_options,[]},          {vm_memory_high_watermark,0.4},          {disk_free_limit,1000000000},          {msg_store_index_module,rabbit_msg_store_ets_index},          {backing_queue_module,rabbit_variable_queue},          {frame_max,131072},          {heartbeat,600},          {msg_store_file_size_limit,16777216},          {queue_index_max_journal_entries,65536},          {default_user,<<"guest">>},          {default_pass,<<"guest">>},          {default_user_tags,[administrator]},          {default_vhost,<<"/">>},          {default_permissions,[<<".*">>,<<".*">>,<<".*">>]},          {cluster_nodes,{[],disc}},          {server_properties,[]},          {collect_statistics,none},          {collect_statistics_interval,5000},          {auth_mechanisms,['PLAIN','AMQPLAIN']},          {auth_backends,[rabbit_auth_backend_internal]},          {delegate_count,16},          {trace_vhosts,[]},          {log_levels,[{connection,info}]},          {ssl_cert_login_from,distinguished_name},          {reverse_dns_lookups,false},          {cluster_partition_handling,ignore},          {tcp_listen_options,              [binary,               {packet,raw},               {reuseaddr,true},               {backlog,128},               {nodelay,true},               {linger,{true,0}},               {exit_on_close,false}]}]}]}.
从默认用户名,密码,端口,日志级别等都有详细配置。
如果这里的配置修改了,在Windows下,你需要

重新安装RabbitMQ服务

重装服务具体步骤如下(而不是重启服务):

新建环境变量:RABBITMQ_SERVER

值为你安装后的RabbitMQ Server的目录(例如):D:\My-Softwar-Installed\RabbitMQ Server\rabbitmq_server-3.1.3

以管理员身份运行:

rabbitmq-service remove
rabbitmq-service install
rabbitmq-service start

这样RabbitMQ Server就会重新创建并启动一个RabbitMQ服务在系统中运行:


如果你没有创建环境变量,虽然执行不了,但是依然可以使用批处理文件来达到同样的效果。在目录:D:\My-Softwar-Installed\RabbitMQ Server\rabbitmq_server-3.1.3\sbin

下面,你可以以管理员命令行执行:

rabbitmq-service.bat remove

rabbitmq-service.bat install

rabbitmq-service.bat start

来达到同样的效果。

官方配置方法

然而

官方网站告诉你你有三种方式来定制你的配置需求:

1 环境变量

2 配置文件rabbitmq.config

3 运行时参数运行时参数可以在运行时调整RabbitMQ的配置

其实都不怎么靠谱,你最好别用。

RabbitMQ官方配置文档

浏览器界面

浏览器访问的端口当然还是原来的端口15672,因为这个是RabbitMQ Server对浏览器提供的端口,是死的,你无法配置。你能配置的只是RabbitMQ Server对client开放的端口。


日志配置

RabbitMQ服务在运行的时候产生的日志在:

Windows 8 用户名carea:C:\Users\carea\AppData\Roaming\RabbitMQ\log

Windows Server 2008 R2:C:\User\Administrator\AppData\Roaming\RabbitMQ\log

目录下,具体根据各个系统和个人的电脑而有所区别。

如果RabbitMQ服务长期运行,日志可能爆盘!此时只需要修改RabbitMQ Server中log level对应的配置即可。

具体参考RabbitMQ官方配置文档中的参数log_levels的相关说明。




0 0