溫馨提示×

rabbitmq在centos上的配置步驟

小樊
40
2025-10-17 13:12:16
欄目: 智能運維

RabbitMQ在CentOS上的配置步驟

1. 準備工作:更新系統并安裝依賴

首先更新系統軟件包,確保后續安裝的兼容性:

sudo yum update -y

RabbitMQ基于Erlang語言開發,需先安裝Erlang環境??赏ㄟ^EPEL倉庫安裝最新穩定版:

sudo yum install -y epel-release  # 啟用EPEL倉庫
sudo yum install -y erlang socat  # 安裝Erlang及socat(RabbitMQ依賴)

2. 添加RabbitMQ官方YUM倉庫

為確保安裝最新版本,添加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

3. 安裝RabbitMQ Server

通過YUM倉庫安裝RabbitMQ Server:

sudo yum install -y rabbitmq-server

4. 啟動RabbitMQ服務并設置開機自啟

安裝完成后,啟動RabbitMQ服務并配置開機自動啟動:

sudo systemctl start rabbitmq-server  # 啟動服務
sudo systemctl enable rabbitmq-server # 設置開機自啟
sudo systemctl status rabbitmq-server # 檢查服務狀態(需顯示"Active (running)")

5. 啟用管理插件(可選但推薦)

RabbitMQ默認提供Web管理界面,需手動啟用。執行以下命令開啟插件:

sudo rabbitmq-plugins enable rabbitmq_management

6. 配置防火墻(若啟用)

若服務器啟用了防火墻(如firewalld),需開放RabbitMQ的默認端口:

  • AMQP協議端口(5672):用于客戶端與服務端通信;
  • 管理界面端口(15672):用于Web管理界面訪問。
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  # 重新加載防火墻規則

7. 配置RabbitMQ核心參數

7.1 修改guest用戶權限(默認僅本地訪問)

默認用戶guest的密碼也是guest,但僅能從localhost訪問。若需遠程訪問,需創建新用戶或修改guest權限:

# 創建新用戶(替換為實際用戶名/密碼)
sudo rabbitmqctl add_user myuser mypassword
# 設置用戶角色為管理員(可選)
sudo rabbitmqctl set_user_tags myuser administrator
# 分配權限(允許訪問所有虛擬主機)
sudo rabbitmqctl set_permissions -p / myuser ".*" ".*" ".*"
7.2 修改配置文件(可選)

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

8. 驗證配置

  • 檢查服務狀態sudo systemctl status rabbitmq-server(確保服務運行正常);
  • 訪問管理界面:在瀏覽器輸入http://<服務器IP>:15672(若修改了端口則替換為對應端口),使用創建的用戶(如myuser/mypassword)登錄;
  • 測試消息收發:可通過管理界面或命令行工具(如rabbitmqadmin、Python pika庫)發送/接收消息,驗證功能是否正常。

注意事項

  • 生產環境中,建議關閉guest用戶的遠程訪問(loopback_users.guest = true),并創建專用用戶;
  • 若需修改配置文件,修改后需重啟RabbitMQ服務使配置生效:sudo systemctl restart rabbitmq-server;
  • 定期備份RabbitMQ的數據目錄(默認/var/lib/rabbitmq/mnesia)和日志目錄(默認/var/log/rabbitmq)。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女