天天看點

rabbitmq--安裝後的通用配置與操作

rabbitmq的版本更新速度還是比較快的,從BUG的修複到内部實作的優化都有涉及,連指令和使用的方式也稍有變化,是以打算基于rabbitmq-3.3.5版本,重新學習下rabbitmq,并整理形成文檔備忘。

前言

網上有很多都介紹了rabbitmq的安裝與配置,然而真正在配置部署的時候還得要臨時翻看下相關的文檔,比如需要在一台機器上部署rabbitmq的叢集時,就會不斷因為端口沖突而導緻不能正常啟動和運作。另外,從rabbitmq版本更新後使用方式的變更可能因為使用預設的配置而導緻無法正常使用,是以有了這篇文章。

常用配置與操作

節點名稱

在rabbitmq-env.conf檔案中,可以通過變量NODENAME對節點名進行設定。預設的節點名稱為rabbit(實際上真正的節點名稱為[email protected] ,NODENAME從配置檔案中擷取,HOST為該伺服器的主機名)。例如,配置節點名為spurs:

NODENAME=spurs
           

請注意:"="前後無空格,另外,該檔案需要手動建立。

用于用戶端連接配接的偵聽端口

修改這個偵聽端口有兩種方式,一種方式是在rabbitmq.config檔案中,通過配置項tcp_listeners配置指定端口,如未進行配置,rabbitmq會使用預設的端口5672。例如,配置端口為5670

[
{rabbit, [{tcp_listeners, [5670]}]}
].
           

另一種方式是通過配置檔案rabbitmq-env.conf中的變量NODE_PORT來設定偵聽端口,例如:

NODENAME=spurs
NODE_PORT=5675
           

注意:如果兩個檔案中都進行了配置,rabbitmq會優先使用rabbtmq-env.conf中變量NODE_PORT的值作為真正的偵聽端口。

用于叢集通信的erlang節點偵聽端口

3.3.0以前的版本,rabbitmq會選用一個随機的端口作為erlang節點的偵聽端口,這個端口主要用于叢集間的通信。如果需要指定偵聽端口的話,可以在rabbitmq-env.conf檔案中增加變量SERVER_START_ARGS來設定偵聽端口或者端口範圍。

例如設定偵聽端口範圍為50000到51000

SERVER_START_ARGS="-kernel inet_dist_listen_min 50000 -kernel inet_dist_listen_max 51000"
           

3.3.0及以後版本,rabbitmq做了些改動——固定了用于叢集通信的偵聽端口,預設為25672。可以通過上面提到的rabbitmq-env.conf配置檔案中的NODE_PORT配置來指定偵聽端口,rabbitmq啟動時會在設定的偵聽端口加20000(檢視腳本rabbitmq-server可以看到這個加的動作)作為真正的偵聽端口。

rabbitmq--安裝後的通用配置與操作

web偵聽端口

rabbitmq安裝完成後,一般會啟用管理控制台插件友善使用和運維。rabbitmq也會相應的在一個端口上進行偵聽用于http的通路,預設的偵聽端口為15672,可以在rabbitmq.config中按需進行設定。例如:

[
{rabbitmq_management, [{listener, [{port, 60000}]}]}
].
           

建立使用者

rabbitmq在安裝完成後僅提供guest賬号,但是在3.3.0及以後版本裡,處于安全方面的考慮,guest賬号僅能通過本地(lo網口)進行通路,是以安裝完成後,需要為使用者建立不同的使用者賬号,更多資訊可參考rabbitmq--使用者管理。

上述這些通常是rabbitmq安裝完成後需要進行配置或執行的操作,這裡未涉及功能相關的配置,監控相關的配置,後續整理相關功能的時候在逐一整理。