我使用 RabbitMQ 3.7.7 並在 Windows Server 2012 R2 Standard 上執行以下安裝步驟:
- 使用精靈中的預設選擇安裝 Erlang OTO 21 (10.0.1),無需在精靈中進行任何變更。
- 使用精靈中的預設選擇安裝 RabbitMQ 3.7.7,而不在精靈中進行任何變更。
- 在安裝過程中,我沒有創建任何環境變數等。
- Erlang 和 RabbitMQ 安裝完成後,RabbitMQ 服務已啟動,預設情況下,日誌將在路徑下建立
\AppData\Roaming\RabbitMQ\log
。目前,我們可以在該日誌中看到太多“INFO”條目,並且日誌很快就會被填滿,這將以每天近500 MB 的速度不必要地消耗磁碟空間,從而在幾天內導致其他問題。我們感興趣的是,日誌檔案中僅記錄“錯誤”,而不會記錄“資訊”。 - 從「執行」->「services.msc」中,停止 RabbitMQ 服務。
- 日誌檔案提到設定檔的路徑如下:
設定檔:c:/Users/MANPRE~1.SIN/AppData/Roaming/RabbitMQ/advanced.config
:c:/Users/MANPRE~1.SIN/應用程式資料/漫遊/RabbitMQ/rabbitmq.conf
由於我無法在資料夾下找到rabbitmq.conf文件\AppData\Roaming\RabbitMQ
,我寧願期望配置日誌中的條目為“rabbitmq.conf not found”,但日誌中沒有這樣的條目。
- 但是,我可以
rabbitmq.config.example
在同一路徑下找到文件。我取消註釋程式碼並從文件中刪除註釋並保存文件,如下所示:
''' [
{rabbit, [{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, [loopback_users, [<<"guest">>]},
{loopback_users, [ 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_mechanRNAs [’ rabbit_auth_backend_ldap]},
{ssl_cert_login_from,distinguished_name},
{ssl_handshake_timeout,5000},
{ssl_allow_poodle_attack,false},
{password_hashing_pule,rabbit_passot_otack,false},
”>>}]}
{config_entry_decoder , [{密碼,{文件,“/path/to/passphrase/file”}}]}
{config_entry_decoder,[{密碼,提示}]} {
config_entry_decoder,[{cipher,aes_cbc256},
{哈希,sha512},
{迭代, 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, 1073, 18074000000,000m
, { " 1024M"}},
{vm_memory_high_watermark_paging_ratio,0.5},
{vm_memory_calculation_strategy,rss},
{memory_monitor_interval,2500},
{total_memory_available_overory_monitor_interval ,2500}, {total_memory_available_over_monitor_interval,
2500},
{total_memory_available_overs_free,"5000000 limit,「50MB」} ,
{disk_free_limit, " 50000kB "},
{disk_free_limit, "2GB"},
{disk_free_limit, {mem_relative, 2.0}},
{queue_master_locator, <<"客戶端本地">>}, {
mirroring_sync_batch_size, 4096},_ mir , []}, {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, 1645,005,005
, false}, {delegate_count.
{mnesia_table_loading_retry_timeout, 30000},
{queue_index_embed_msgs_below, 4096},
{queue_index_max_journal_entries, 32768}, {msg_store_credit_disc_bournal_entries, 32768}, {
msg_store_credit_disc_bound, {400,00,40,000,4004 40ms_a_bound, {b. 400, 200}}, {channel_operation_timeout, 15000}, {queue_explicit_gc_run_operation_threshold ,1000}, {lazy_queue_explicit_gc_run_operation_threshold,1000}, {disk_monitor_failure_retries,10}, {disk_monitor_failure_retry_interval,120000}, {background_gc_enable,0v 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"}, {監聽器,[{端口,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, [{來源, [{經紀人, ["amqp://user:
[電子郵件受保護]/my_vhost"]},{宣告, []}]}, {目的地, [{broker, "amqp://"},{宣告, []}]},
{佇列, <<"您的佇列名稱-去這裡“>>},
{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}
]}
]}
{預設值, [{prefetch_count, 0},
{ack_mode, on_confirm},
{publish_fields, []},
{publish_properties, {publish{ Delivery_mode, 2}]},
{reconnect_delay, 2.5}]}
]},
{rabbitmq_stomp,
[
{tcp_listeners, [{"127.0.0.1", 61613},
{"::1", 61613}]},
{ssl_listeners, [61614]},
{num_tcp_acceptors, {ssl_listeners, [61614]},
{num_tcp_acceptors, 10}, {ors_ssl.
{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},
{預取,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,
[
{伺服器,[“您的伺服器名稱在這裡”]},
{use_ssl,false},
{端口,389},
{超時,無限大},
{log,false},
{user_dn_pattern,“ cn=$ {使用者名稱},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}- users,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, 訊息]}]}]},
{rabbit_channel_lager_event, [{handlers,[{lager_forlager, 信息] ] }]}]},
{rabbit_conection_lager_event,[{handlers,[{lager_forwarder_backend,[lager_event,訊息]}]}]},
{rabbit_mirroring_lager_event,[{handlers,[{lager_forwarder_backend,[lager_event},資訊]}}}}}}}
] }
]}
]。
'''
- 將檔案 RabbitMQ.config.example 重新命名為
rabbitmq.conf
- 開啟RabbitMQ命令提示符,並執行命令
rabbitmq-plugins
enablerabbitmq_management
- 從“執行”->“services.msc”,啟動 RabbitMQ 服務。
- 重新啟動伺服器。
- 在此之後,日誌記錄停止發生,不是因為上述變更有效,而是因為 RabbitMQ 停止工作。
已確認 RabbitMQ 無法運作,因為 URLhttp://localhost:15672/
無法啟動,預設安裝時啟動正常,但它開始出現代理和防火牆錯誤。
- 一些線上部落格建議刪除 .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,訊息]}]}]},
{rabbit_channel_lager_event,[{handlers,[{lager_forwarder_backger,[{lager,資訊訊息,[{lager,[{lager_forwarder_backger),[ ] ]}]}]},
{rabbit_conection_lager_event,[{handlers,[{lager_forwarder_backend,[lager_event,訊息]}]}]},
{rabbit_mirroring_lager_event,[{handlers,[{lager_forwarder_backend,[lager_event,資訊]}}] }
]}
]}
]。
執行上述操作後,我執行了RabbitMQ命令'rabbitmq-plugins'啟用'rabbitmq_management'並重新啟動伺服器和rabbitmq服務,仍然是RabbitMQ的登錄頁面'http://本地主機:15672/' 不能打開。
- 其他一些部落格建議將 .conf 檔案保留為:
[ {兔子,[{log_levels,[{連接,錯誤}]}]} ]。
執行上述操作後,我執行了RabbitMQ命令'rabbitmq-plugins'啟用'rabbitmq_management'並重新啟動伺服器和rabbitmq服務,仍然是RabbitMQ的登錄頁面'http://本地主機:15672/' 不能打開。
我瀏覽了幾個部落格和論壇,但無法確定我哪裡出錯了。當我將設定檔重命名為“.conf”時,我深深懷疑出了問題,因為那時 RabbitMQ 停止工作了。
如果您能夠指出我哪裡出錯了,或者可以指導我找到 .conf 文件,我將不勝感激。
答案1
早些時候,我還遇到了一些鏈接,要求在 .conf 文件中添加以下行:
log.file.level = error
log.connection.level = error
log.channel.level = error
但我無法弄清楚它到底在哪裡、在哪個部分下適合 .conf 檔案。
我再次嘗試清除 .conf 檔案的內容並簡單地將這 3 行保留在 .conf 檔案中:
log.file.level = error
log.connection.level = error
log.channel.level = error
它起作用了..
您可以設定日誌等級根據您的要求。
&可以參考這裡&這裡了解更多。
因此,RabbitMQ.conf 檔案僅位於路徑 - \AppData\Roaming\RabbitMQ 中,唯一的問題是 .conf 檔案的格式是過時的格式,無法正常運作。修改格式後,就可以運行了。