首先更新系統軟件包,確保后續安裝的兼容性:
sudo yum update -y
RabbitMQ基于Erlang語言開發,需先安裝Erlang環境??赏ㄟ^EPEL倉庫安裝最新穩定版:
sudo yum install -y epel-release # 啟用EPEL倉庫
sudo yum install -y erlang socat # 安裝Erlang及socat(RabbitMQ依賴)
為確保安裝最新版本,添加RabbitMQ官方YUM倉庫。創建倉庫配置文件:
sudo tee /etc/yum.repos.d/rabbitmq.repo <<EOF
[rabbitmq-server]
name=RabbitMQ Repository
baseurl=https://packagecloud.io/rabbitmq/rabbitmq-server/el/7/\$basearch
repo_gpgcheck=1
gpgcheck=1
enabled=1
gpgkey=https://packagecloud.io/rabbitmq/rabbitmq-server/gpgkey
EOF
通過YUM倉庫安裝RabbitMQ Server:
sudo yum install -y rabbitmq-server
安裝完成后,啟動RabbitMQ服務并配置開機自動啟動:
sudo systemctl start rabbitmq-server # 啟動服務
sudo systemctl enable rabbitmq-server # 設置開機自啟
sudo systemctl status rabbitmq-server # 檢查服務狀態(需顯示"Active (running)")
RabbitMQ默認提供Web管理界面,需手動啟用。執行以下命令開啟插件:
sudo rabbitmq-plugins enable rabbitmq_management
若服務器啟用了防火墻(如firewalld),需開放RabbitMQ的默認端口:
sudo firewall-cmd --permanent --zone=public --add-port=5672/tcp # 開放AMQP端口
sudo firewall-cmd --permanent --zone=public --add-port=15672/tcp # 開放管理界面端口
sudo firewall-cmd --reload # 重新加載防火墻規則
默認用戶guest
的密碼也是guest
,但僅能從localhost
訪問。若需遠程訪問,需創建新用戶或修改guest
權限:
# 創建新用戶(替換為實際用戶名/密碼)
sudo rabbitmqctl add_user myuser mypassword
# 設置用戶角色為管理員(可選)
sudo rabbitmqctl set_user_tags myuser administrator
# 分配權限(允許訪問所有虛擬主機)
sudo rabbitmqctl set_permissions -p / myuser ".*" ".*" ".*"
RabbitMQ的主配置文件位于/etc/rabbitmq/rabbitmq.conf
(若不存在需手動創建)。常見配置項:
# 修改AMQP端口(避免默認5672被掃描攻擊)
listeners.tcp.default = 5673
# 修改管理界面端口
management.tcp.port = 15673
# 允許guest用戶遠程訪問(不推薦生產環境使用)
loopback_users.guest = false
# 設置內存低水位線(當內存使用超過40%時觸發流控)
vm_memory_high_watermark.relative = 0.4
sudo systemctl status rabbitmq-server
(確保服務運行正常);http://<服務器IP>:15672
(若修改了端口則替換為對應端口),使用創建的用戶(如myuser/mypassword
)登錄;rabbitmqadmin
、Python pika
庫)發送/接收消息,驗證功能是否正常。guest
用戶的遠程訪問(loopback_users.guest = true
),并創建專用用戶;sudo systemctl restart rabbitmq-server
;/var/lib/rabbitmq/mnesia
)和日志目錄(默認/var/log/rabbitmq
)。