目錄
常用命令
1.1 基礎服務的命令操作
- rabbitmqctl stop_app:關閉應用
- rabbitmqctl start_app:啓動應用
- rabbtmqctl status:節點狀態
- rabbitmqctl add_user username password:添加用戶
- rabbitmqctl list_users:列出所有用戶
- rabbitmqctl delete_user username:刪除用戶
- rabbitmqctl clear_permissions - p vhostpath username: 清除用戶權限
- rabbitmqctl list_user_permissions_username: 列出用戶權限
- rabbitmqctl change_password username newpassword:修改密碼
- rabbitmqctl set_permissions -p vhostpath username “." ".” “.*” :設置用戶權限
1.2 對rabbitmq 具體組件的命令
1.2.1 對虛擬主機操作
- rabbitmqctl add_vhost vhostpath:創建虛擬主機
- rabbitmqctl list_vhosts:列出所有虛擬主機
- rabbitmqctl list_permissions -p vhostpath:列出虛擬主機上所有權限
- rabbitmqctl delete_vhost vhostpath:刪除虛擬主機
1.2.2 隊列操作
- rabbitmqctl list_queues:查看所有隊列信息
- rabbitmqctl -p vhostpath purge_queue bule:清除隊列裏的消息
1.3 高級操作
- rabbitmqctl reset:移除所有數據,要在rabbitmqctl stop_app之後使用
- rabbitmqctl join_clust [–ram]:組成集羣命令
- rabbitmqctl clustr_status:查看集羣狀態
- rabbitmqctl change_cluster_node_type disc|ram 修改集羣節點的存儲形式
- rabbitmqctl forget_cluster_node [–offline] 忘記節點(摘除節點)
- rabbitmqctl rename_cluster_node oldnode1 newnode1 [oldnode2] [newnode2…] (修改節點名稱)
RabbitMQ配置文件
rabbitmq-env.conf
RABBITMQ_NODE_IP_ADDRESS= //IP地址,空串bind所有地址,指定地址bind指定網絡接口
RABBITMQ_NODE_PORT= //TCP端口號,默認是5672
RABBITMQ_NODENAME= //節點名稱。默認是rabbit
RABBITMQ_CONFIG_FILE= //配置文件路徑 ,即rabbitmq.config文件路徑
RABBITMQ_MNESIA_BASE= //mnesia所在路徑
RABBITMQ_LOG_BASE= //日誌所在路徑
RABBITMQ_PLUGINS_DIR= //插件所在路徑
rabbitmq.config
tcp_listerners #設置rabbimq的監聽端口,默認爲[5672]。
disk_free_limit #磁盤低水位線,若磁盤容量低於指定值則停止接收數據,默認值爲{mem_relative, 1.0},即與內存相關聯1:1,也可定製爲多少byte.
vm_memory_high_watermark #設置內存低水位線,若低於該水位線,則開啓流控機制,默認值是0.4,即內存總量的40%。
hipe_compile #將部分rabbimq代碼用High Performance Erlang compiler編譯,可提升性能,該參數是實驗性,若出現erlang vm segfaults,應關掉。
force_fine_statistics #該參數屬於rabbimq_management,若爲true則進行精細化的統計,但會影響性能。
frame_max #包大小,若包小則低延遲,若包則高吞吐,默認是131072=128K。
heartbeat #客戶端與服務端心跳間隔,設置爲0則關閉心跳,默認是600秒。
一臺機器啓動多個實例
以上如果希望一個機器中啓動多個實例,簡單需要配置的地方僅有
rabbitmq-env.conf:
#改個名字
RABBITMQ_NODENAME=your_new_node_name
#改個端口
RABBITMQ_NODE_PORT=5673
rabbitmq.config:
%tcp 監聽端口對應修改%
{tcp_listeners, [5673]},
rabbitmq_management下面的監聽端口對應修改,建議原端口加10000保持與原來默認的統一
{listener, [{port, 15673}]}
參考文檔: