1. 程式人生 > >rabbitmq--安裝後的通用配置與操作

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

rabbitmq的版本更新速度還是比較快的,從BUG的修復到內部實現的優化都有涉及,連命令和使用的方式也稍有變化,因此打算基於rabbitmq-3.3.5版本,重新學習下rabbitmq,並整理形成文件備忘。

前言

網上有很多都介紹了rabbitmq的安裝與配置,然而真正在配置部署的時候還得要臨時翻看下相關的文件,比如需要在一臺機器上部署rabbitmq的叢集時,就會不斷因為埠衝突而導致不能正常啟動和執行。另外,從rabbitmq版本升級後使用方式的變更可能因為使用預設的配置而導致無法正常使用,因此有了這篇文章。

常用配置與操作

節點名稱

在rabbitmq-env.conf檔案中,可以通過變數NODENAME對節點名進行設定。預設的節點名稱為rabbit(實際上真正的節點名稱為NODENAME@HOST

 ,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可以看到這個加的動作)作為真正的偵聽埠。

web偵聽埠

rabbitmq安裝完成後,一般會啟用管理控制檯外掛方便使用和運維。rabbitmq也會相應的在一個埠上進行偵聽用於http的訪問,預設的偵聽埠為15672,可以在rabbitmq.config中按需進行設定。例如:

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

建立使用者

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

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