RabbitMQ - Rabbitmq.conf 파일을 찾을 수 없습니다.

RabbitMQ - Rabbitmq.conf 파일을 찾을 수 없습니다.

나는 RabbitMQ 3.7.7을 사용하고 있으며 Windows Server 2012 R2 Standard에 설치 시 아래 단계를 수행했습니다.

  1. 마법사에서 변경 사항을 적용하지 않고 마법사의 기본 선택 사항을 사용하여 Erlang OTO 21(10.0.1)을 설치합니다.
  2. 마법사를 변경하지 않고 마법사의 기본 선택 사항으로 RabbitMQ 3.7.7을 설치합니다.
  3. 설치 과정에서 환경변수 등을 생성하지 않았습니다.
  4. Erlang 및 RabbitMQ 설치가 완료되면 RabbitMQ 서비스가 실행되며 기본적으로 경로 아래에 로그가 생성됩니다 \AppData\Roaming\RabbitMQ\log. 현재 이 로그에서 너무 많은 'INFO' 항목을 볼 수 있으며 로그가 너무 빨리 채워져 하루에 거의 500MB의 속도로 디스크 공간을 불필요하게 소모하여 며칠에 걸쳐 다른 문제가 발생할 수 있습니다. 로그 파일에는 '오류'만 기록되고 '정보'는 기록되지 않는다는 점에 관심이 있습니다.
  5. 실행 -> services.msc에서 RabbitMQ 서비스를 중지합니다.
  6. 로그 파일에는 다음과 같이 구성 파일의 경로가 언급되어 있습니다.
    구성 파일 : c:/Users/MANPRE~1.SIN/AppData/Roaming/RabbitMQ/advanced.config
    : c:/Users/MANPRE~1.SIN/ AppData/로밍/RabbitMQ/rabbitmq.conf

폴더 아래에서 Rabbitmq.conf 파일을 찾을 수 없기 때문에 \AppData\Roaming\RabbitMQ구성에 대한 로그 항목이 'rabbitmq.conf를 찾을 수 없음'이라고 예상했지만 로그에는 해당 항목이 없습니다.

  1. rabbitmq.config.example그러나 동일한 경로에서 파일을 찾을 수 있습니다 . 코드의 주석 처리를 제거하고 파일에서 주석을 제거한 후 아래와 같이 파일을 저장합니다.

''' [
{토끼, [{tcp_listeners, [5672]},
{tcp_listeners, [{"127.0.0.1", 5672},
{"::1", 5672}]},
{ssl_listeners, [5671]},
{num_tcp_acceptors, 10},
{num_ssl_acceptors, 1},
{handshake_timeout, 10000},
{reverse_dns_lookups, false},
{loopback_users, [<<"guest">>]},
{loopback_users, []},
{ssl_options, [{ cacertfile, "/path/to/testca/cacert.pem"},
{certfile, "/path/to/server/cert.pem"},
{keyfile, "/path/to/server/key.pem"},
{verify, verify_peer},
{fail_if_no_peer_cert, false}]},
{auth_mechanisms, ['PLAIN', 'AMQPLAIN']},
{auth_backends, [rabbit_auth_backend_internal]},
{auth_mechanisms, ['EXTERNAL']},
{auth_backends, [ Rabbit_auth_backend_ldap]},
{ssl_cert_login_from, Unique_name},
{ssl_handshake_timeout, 5000},
{ssl_allow_poodle_attack, false},
{password_hashing_module, Rabbit_password_hashing_sha256},
{config_entry_decoder, [{passphrase, <<"mypassphrase">>}]}
{config_entry _디코더, [{ passphrase, {file, "/path/to/passphrase/file"}}]}
{config_entry_decoder, [{passphrase, 프롬프트}]}
{config_entry_decoder, [{cipher, aes_cbc256},
{hash, sha512},
{iterations, 1000 }]}
{default_vhost, <<"/">>},
{default_user, <<"guest">>},
{default_pass, <<"guest">>},
{default_permissions, [<<".">>, <<".">>, <<".*">>]},
{default_user_tags, [관리자]},
{heartbeat, 60},
{frame_max, 131072},
{initial_frame_max, 4096},
{channel_max, 0},
{connection_max, 무한대},
{tcp_listen_options, [{backlog, 128},
{nodelay, true},
{exit_on_close, false}]},
{vm_memory_high_watermark, 0.4},
{vm_memory_high_watermark, {absolute, 1073741824}},
{vm_memory_high_watermark, {absolute, " 1024M"}},
{vm_memory_high_watermark_paging_ratio, 0.5},
{vm_memory_calculation_strategy, rss},
{memory_monitor_interval, 2500},
{total_memory_available_override_value, "5000MB"},
{disk_free_limit, 50000000},
{disk_free _limit, "50MB"},
{disk_free_limit, "50000kB "},
{disk_free_limit, "2GB"},
{disk_free_limit, {mem_relative, 2.0}},
{queue_master_locator, <<"client-local">>},
{mirroring_sync_batch_size, 4096},
{mirroring_flow_control, true},
{server_properties, []},
{cluster_partition_handling, 무시},
{mirroring_sync_batch_size, 4096},
{cluster_nodes, {['[이메일 보호됨]'], 디스크}},
{cluster_keepalive_interval, 10000},
{collect_statistics, none},
{collect_statistics_interval, 5000},
{trace_vhosts, []},
{hipe_compile, false},
{delegate_count, 16},
{mnesia_table_loading_retry_limit, 10},
{mnesia_table_loading_retry_timeout, 30000},
{queue_index_embed_msgs_below, 4096},
{queue_index_max_journal_entries, 32768},
{msg_store_credit_disc_bound, {4000, 800}}, {
msg_store_io_batch_size, 4096},
{credit_flow_default_credit , {400, 200}},
{channel_Operation_timeout, 15000},
{queue_explicit_gc_run_eration_threshold, 1000},
{lazy_queue_explicit_gc_run_eration_threshold, 1000},
{disk_monitor_failure_retries, 10},
{disk_monitor_failure_retry_interval, 120000},
{Background_gc_enabled, false},
{Background_gc_target_interval, 60000},
{msg_store_file_size_limit, 16777216},
{fhc_write_buffering, true},
{fhc_read_buffering , false}
]},
{kernel, [{net_ticktime, 60}]},
{rabbitmq_management, [ {load_definitions, "/path/to/exported/definitions.json"},
{http_log_dir, "/path/to/rabbitmq/ 로그/http"},
{리스너, [{port, 12345},
{ip, "127.0.0.1"},
{ssl, true},
{ssl_opts, [{cacertfile, "/path/to/cacert.pem"} ,
{certfile, "/path/to/cert.pem"},
{keyfile, "/path/to/key.pem"}]}]},
{rates_mode, basic},
{sample_retention_policies,
[{global, [{ 60, 5}, {3600, 60}, {86400, 1200}]},
{기본, [{60, 5}, {3600, 60}]},
{상세, [{10, 5}]}]}
]},
{rabbitmq_shovel,
[{shovels,
[{my_first_shovel,
[{sources, [{brokers, ["amqp://user:[이메일 보호됨]/my_vhost"]},{선언, []}]}, {목적지, [{broker, "amqp://"},{선언, []}]},
{queue, <<"your-queue-name -goes-here">>},
{prefetch_count, 10},
{ack_mode, on_confirm},
{publish_fields, [{exchange, <<"my_exchange">>},
{routing_key, <<"from_shovel">>}]} ,
{publish_properties, [{delivery_mode, 2}]},
{reconnect_delay, 2.5}
]}
]}
{defaults, [{prefetch_count, 0},
{ack_mode, on_confirm},
{publish_fields, []},
{publish_properties, [{ 배달 모드, 2}]},
{reconnect_delay, 2.5}]}
]},

{rabbitmq_stomp,
[
{tcp_listeners, [{"127.0.0.1", 61613},
{"::1", 61613}]},
{ssl_listeners, [61614]},
{num_tcp_acceptors, 10},
{num_ssl_acceptors, 1},
{ssl_cert_login, true},
{default_user,
[{login, "guest"},
{passcode, "guest"}]},
{implicit_connect, true},
{proxy_protocol, false}
]
},

{rabbitmq_mqtt,
[
{default_user, <<"guest">>},
{default_pass, <<"guest">>},
{allow_anonymous, true},
{vhost, <<"/">>},
{exchange, < <"amq.topic">>},
{subscription_ttl, 1800000},
{prefetch, 10},
{tcp_listeners, [1883]},
{ssl_listeners, []},
{num_tcp_acceptors, 10},
{num_ssl_acceptors, 1},
{ tcp_listen_options, [
{backlog, 128},
{linger, {true, 0}},
{exit_on_close, false}
]},
{proxy_protocol, false}
]},

{rabbitmq_amqp1_0,
[
{default_user, "guest"},
{protocol_strict_mode, false}
]},

{rabbitmq_auth_backend_ldap,
[
{서버, ["your-server-name-goes-here"]},
{use_ssl, false},
{port, 389},
{timeout, infinity},
{log, false},
{user_dn_pattern, " cn=${username},ou=People,dc=example,dc=com"},
{dn_lookup_attribute, "userPrincipalName"},
{dn_lookup_base, "DC=gopivotal,DC=com"},
{other_bind, as_user},
{ vhost_access_query, {in_group,"ou=${vhost}- 사용자,ou=vhosts,dc=example,dc=com"}}, {resource_access_query, {constant, true}},
{tag_queries, []}
]},

{lager, [
{log_root, "/var/log/rabbitmq"},
{handlers, [
{lager_file_backend, [{file, "rabbit.log"},
{level, info},
{date, ""},
{size , 0}]}
]},
{extra_sinks, [ {rabbit_log_lager_event,[{handlers, [{lager_forwarder_backend,[lager_event, info]}]}]},
{rabbit_channel_lager_event, [{handlers,[{lager_forwarder_backend,[lager_event, info] }]}]},
{rabbit_conection_lager_event, [{handlers, [{lager_forwarder_backend,[lager_event, info]}]}]},
{rabbit_mirroring_lager_event, [{handlers, [{lager_forwarder_backend,[lager_event, info]}]}]}
] }
]}
].
'''

  1. RabbitMQ.config.example 파일의 이름을 다음으로 바꿉니다.rabbitmq.conf
  2. RabbitMQ 명령 프롬프트를 열고 명령 rabbitmq-plugins활성화를 실행합니다.rabbitmq_management
  3. 실행 -> services.msc에서 RabbitMQ 서비스를 시작합니다.
  4. 서버를 다시 시작하십시오.
  5. 그 후에는 로깅이 중지됩니다. 위의 변경 사항이 작동했기 때문이 아니라 RabbitMQ 작동이 중지되었기 때문입니다.

기본 설치로 이전에 정상적으로 실행되었던 URL 실행에 실패하여 RabbitMQ가 작동하지 않는 것으로 확인되었습니다. http://localhost:15672/대신 프록시 및 방화벽 오류가 발생하기 시작합니다.

  1. 일부 온라인 블로그에서는 .conf 파일에서 필요하지 않은 것을 제거하라고 제안했기 때문에 파일을 다음과 같이 변경했습니다.

[
{lager, [
{log_root, "/var/log/rabbitmq"},
{handlers, [
{lager_file_backend, [{file, "rabbit.log"},
{level, info},
{date, ""},
{ 크기, 0}]}
]},
{extra_sinks, [ {rabbit_log_lager_event,[{handlers, [{lager_forwarder_backend,[lager_event, info]}]}]},
{rabbit_channel_lager_event, [{handlers, [{lager_forwarder_backend,[lager_event, info ]}]}]},
{rabbit_conection_lager_event, [{handlers, [{lager_forwarder_backend,[lager_event, info]}]}]},
{rabbit_mirroring_lager_event, [{handlers, [{lager_forwarder_backend,[lager_event, info]}]}]}
]}
]}
].

위의 작업을 수행한 후 RabbitMQ 명령 'rabbitmq-plugins' 활성화 'rabbitmq_management'를 실행하고 서버 및 Rabbitmq 서비스를 다시 시작했지만 여전히 RabbitMQ 로그인 페이지는 'http://localhost:15672/' 열 수 없습니다.

  1. 다른 블로그에서는 .conf 파일을 다음과 같이 유지하도록 제안했습니다.

[ {토끼, [{log_levels,[{연결, 오류}]}]} ].

위의 작업을 수행한 후 RabbitMQ 명령 'rabbitmq-plugins' 활성화 'rabbitmq_management'를 실행하고 서버 및 Rabbitmq 서비스를 다시 시작했지만 여전히 RabbitMQ 로그인 페이지는 'http://localhost:15672/' 열 수 없습니다.

여러 블로그와 포럼을 살펴봤지만 어디가 잘못되었는지 확인할 수 없었습니다. 구성 파일의 이름을 '.conf'로 바꾼 순간 RabbitMQ가 작동을 멈췄기 때문에 뭔가 잘못되었다는 의심이 들었습니다.

제가 어디에서 잘못되고 있는지 지적해 주시거나 .conf 파일을 찾을 수 있도록 안내해 주시면 감사하겠습니다.

답변1

이전에도 .conf 파일에 다음 줄을 추가하라는 링크를 발견했습니다.
log.file.level = 오류
log.connection.level = 오류
log.channel.level = 오류

그러나 .conf 파일의 어느 섹션에 정확히 맞는지 알 수 없었습니다.

.conf 파일의 내용을 지우고 .conf 파일에 다음 3줄만 유지하여 다시 시도해 보았습니다.
log.file.level = error
log.connection.level = error
log.channel.level = error

그리고 효과가 있었어요..

당신은 설정할 수 있습니다로그 수준귀하의 요구 사항에 따라.
& 참조할 수 있음여기&여기이상.

따라서 RabbitMQ.conf 파일은 \AppData\Roaming\RabbitMQ 경로에만 있었습니다. 유일한 문제는 .conf 파일의 형식이 작동하지 않는 오래된 형식이라는 것입니다. 형식을 수정한 후 작동됩니다.

관련 정보