Linux中RabbitMQ安裝
Linux中RabbitMQ安裝
在做一個微服務專案時候用到訊息佇列,於是深入瞭解了訊息佇列知識,並在linux上安裝了Rabbitmq,本部落格介紹Rabbitmq的安裝教程,想要深入瞭解訊息佇列相關知識,請參考部落格:
1. 更新基本系統
安裝任何軟體包之前,建議使用以下命令更新軟體包和儲存庫
yum -y update
2. 安裝Erlang
由於RabbitMQ是基於Erlang(面向高併發的語言)語言開發,所以在安裝RabbitMQ之前,需要先安裝Erlang。在本教程中我們將安裝最新版本的Erlang到伺服器中。 Erlang在預設的YUM儲存庫中不可用,因此您將需要安裝EPEL儲存庫。 執行以下命令相同。
yum -y install epel-release
yum -y update
安裝Erlang
yum -y install erlang socat
您現在可以使用以下命令檢查Erlang版本。
erl -version
您將得到如下輸出:
[root@liptan-pc ~]# erl -version
Erlang (ASYNC_THREADS,HIPE) (BEAM) emulator version 5.10.4
2. 安裝RabbitMQ
RabbitMQ為預編譯並可以直接安裝的企業Linux系統提供RPM軟體包。 唯一需要的依賴是將Erlang安裝到系統中。 我們已經安裝了Erlang,我們可以進一步下載RabbitMQ。 通過執行下載Erlang RPM軟體包。
2.1 下載RabbitMQ
下載RabbitMQ
wget https://www.rabbitmq.com/releases/rabbitmq-server/v3.6.10/rabbitmq-server-3.6.10-1.el7.noarch.rpm
如果你沒有安裝wget ,可以執行yum -y install wget 。 您可以隨時找到最新版本的RabbitMQ下載頁面的連結。
2.2 安裝RabbitMQ
通過執行匯入GPG金鑰:
rpm –import https://www.rabbitmq.com/rabbitmq-release-signing-key.asc
執行RPM安裝RPM包:
rpm -Uvh rabbitmq-server-3.6.10-1.el7.noarch.rpm
RabbitMQ現已經安裝在系統上。
3. 使用RabbitMQ
執行
systemctl start rabbitmq-server
開機自啟
systemctl enable rabbitmq-server
檢查狀態
systemctl status rabbitmq-server
4. 訪問Web控制檯
4.1 啟動web控制檯
啟動RabbitMQ Web管理控制檯,方法是執行:
rabbitmq-plugins enable rabbitmq_management
通過執行以下命令,將RabbitMQ檔案的所有權提供給RabbitMQ使用者:
chown -R rabbitmq:rabbitmq /var/lib/rabbitmq/
4.2 建立使用者
現在,您將需要為RabbitMQ Web管理控制檯建立管理使用者。 執行以下命令相同。
rabbitmqctl add_user admin StrongPassword
rabbitmqctl set_user_tags admin administrator
rabbitmqctl set_permissions -p / admin “.*” “.*” “.*”
將管理員更改為管理員使用者的首選使用者名稱。 確保將StrongPassword更改為非常強大的密碼。
要訪問RabbitMQ的管理面板,請使用您最喜愛的Web瀏覽器並開啟以下URL。
http://Your_Server_IP:15672/
5.管理介面介紹
第一次訪問需要登入,預設的賬號密碼為:guest/guest
5.1報錯處理
在使用 guest 登入失敗的時候,是因為 guest 使用者只能使用 localhost 登入,不能使用 ip 登入
解決方法:
這裡顯示的是沒有找到配置檔案,我們可以自己建立這個檔案,路徑:cd /etc/rabbitmq/
cd /etc/rabbitmq/
vi rabbitmq.config
編輯內容如下:
[{rabbit, [{loopback_users, []}]}].
這裡的意思是開放使用,rabbitmq預設建立的使用者guest,密碼也是guest,這個使用者預設只能是本機訪問,localhost或者127.0.0.1,從外部訪問需要新增上面的配置。
儲存配置後重啟服務:
service rabbitmq-server stop
service rabbitmq-server start
service rabbitmq-server status # 檢視狀態: