在Debian系統上安裝和配置RabbitMQ的步驟如下:
首先,確保系統中已安裝Erlang,因為RabbitMQ是使用Erlang語言編寫的,它的運行需要依賴Erlang環境。對于基于Debian的系統,可以使用以下命令安裝Erlang:
sudo apt-get update
sudo apt-get install -y erlang-nox
接下來,安裝RabbitMQ服務器??梢酝ㄟ^添加官方存儲庫來安裝最新版本的RabbitMQ:
curl -1sLf "https://keys.openpgp.org/vks/v1/by-fingerprint/0A9AF2115F4687BD29803A206B73A36E6026DFCA" | sudo gpg --dearmor | sudo tee /usr/share/keyrings/com.rabbitmq.team.gpg /dev/null
echo "deb [signed-by=/usr/share/keyrings/com.rabbitmq.team.gpg] http://ppa.launchpad.net/rabbitmq/rabbitmq-erlang/ubuntu focal main" | sudo tee /etc/apt/sources.list.d/rabbitmq.list
echo "deb [signed-by=/usr/share/keyrings/com.rabbitmq.team.gpg] http://ppa.launchpad.net/rabbitmq/rabbitmq-server/ubuntu focal main" | sudo tee -a /etc/apt/sources.list.d/rabbitmq.list
注意:這里的 focal
是Ubuntu的版本代號,如果你的系統是其他版本,請相應地進行替換。
sudo apt-get update
sudo apt-get install -y rabbitmq-server
sudo systemctl start rabbitmq-server
sudo systemctl status rabbitmq-server
如果服務正常啟動,你應該能夠看到類似 Active: active (running)
的狀態信息。
sudo rabbitmq-plugins enable rabbitmq_management
這個插件提供了一個基于Web的管理界面,可以方便地管理RabbitMQ服務器。重啟RabbitMQ服務以使插件生效:
sudo systemctl restart rabbitmq-server
默認情況下,管理界面可以通過 http://服務器IP地址:15672
訪問。使用默認的用戶名和密碼登錄,用戶名是 guest
,密碼也是 guest
。請注意,在生產環境中,應該及時修改默認的用戶名和密碼以提高安全性。
在每個RabbitMQ服務器上設置相同的Erlang Cookie,以確保節點可以相互通信。通常在 /var/lib/rabbitmq/.erlang.cookie
文件中設置。
echo "cookie_value" | sudo tee /var/lib/rabbitmq/.erlang.cookie
sudo chmod 400 /var/lib/rabbitmq/.erlang.cookie
sudo chown rabbitmq:rabbitmq /var/lib/rabbitmq/.erlang.cookie
在每個服務器上啟動RabbitMQ服務。
sudo systemctl start rabbitmq-server
使用 rabbitmqctl
命令行工具將節點加入集群。例如:
rabbitmqctl stop_app
rabbitmqctl reset
rabbitmqctl join_cluster rabbit@node1
rabbitmqctl start_app
為了確保消息的高可用性,可以設置隊列鏡像。這樣,隊列的消息會在多個節點上進行復制。例如:
sudo rabbitmqctl set_policy ha-all "^my_queue$" '{"ha-mode":"all","ha-sync-mode":"automatic"}'