[ 在CentOS 7上安裝RabbitMQ服務器]
條件
- 最小CentOS 7服務器
- 根權限 本指南以root用戶身份編寫,如果以sudo用戶身份登錄,請運行sudo -i 。
更新基本系統
在安裝任何軟件包之前,建議您使用以下命令更新軟件包和存儲庫。
yum -y update
更新系統后,進一步安裝Erlang。
安裝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
要切換到Erlang shell,可以鍵入以下命令。
erl
shell將更改,您將得到以下輸出。
Erlang R16B03-1 (erts-5.10.4) [source] [64-bit] [async-threads:10] [hipe] [kernel-poll:false]
Eshell V5.10.4 (abort with ^G)
1>
您可以通過按ctrl + C兩次退出shell。 Erlang現在安裝在系統上,現在可以繼續安裝RabbitMQ。
安裝RabbitMQ
RabbitMQ為預編譯並可以直接安裝的企業Linux系統提供RPM軟件包。 唯一需要的依賴是將Erlang安裝到系統中。 我們已經安裝了Erlang,我們可以進一步下載RabbitMQ。 通過運行下載Erlang RPM軟件包。
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下載頁面的鏈接。
通過運行導入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現已安裝在您的系統上。
開始RabbitMQ
您可以通過運行以下命令啟動RabbitMQ服務器進程。
systemctl start rabbitmq-server
要在引導時自動啟動RabbitMQ,請運行以下命令。
systemctl enable rabbitmq-server
要檢查RabbitMQ服務器的狀態,請運行:
systemctl status rabbitmq-server
如果啟動成功,您應該得到以下輸出。
? rabbitmq-server.service - RabbitMQ broker
Loaded: loaded (/usr/lib/systemd/system/rabbitmq-server.service; enabled; vendor preset: disabled)
Active: active (running) since Sat 2017-07-15 18:59:14 UTC; 3min 22s ago
Main PID: 29006 (beam.smp)
Status: "Initialized"
CGroup: /system.slice/rabbitmq-server.service
??29006 /usr/lib64/erlang/erts-9.0/bin/beam.smp -W w -A 64 -P 1048576 -t 5000000 -stbt db -zdbbl 32000 -K tr...
??29149 /usr/lib64/erlang/erts-9.0/bin/epmd -daemon
??29283 erl_child_setup 1024
??29303 inet_gethost 4
??29304 inet_gethost 4
Jul 15 18:59:13 centos rabbitmq-server[29006]: Starting broker...
Jul 15 18:59:14 centos rabbitmq-server[29006]: systemd unit for activation check: "rabbitmq-server.service"
Jul 15 18:59:14 centos systemd[1]: Started RabbitMQ broker.
Jul 15 18:59:14 centos rabbitmq-server[29006]: completed with 0 plugins.
修改防火牆和SELinux規則
如果您已安裝並運行防火牆 ,則必須通過防火牆允許端口8161。 運行以下命令相同。
firewall-cmd –zone=public –permanent –add-port=4369/tcp
firewall-cmd –zone=public –permanent –add-port=25672/tcp
firewall-cmd –zone=public –permanent –add-port=5671-5672/tcp
firewall-cmd –zone=public –permanent –add-port=15672/tcp
firewall-cmd –zone=public –permanent –add-port=61613-61614/tcp
firewall-cmd –zone=public –permanent –add-port=1883/tcp
firewall-cmd –zone=public –permanent –add-port=8883/tcp
firewall-cmd –reload
如果您啟用SELinux,則必須運行以下命令以允許RabbitMQ服務。
setsebool -P nis_enabled 1
訪問Web控制台
啟動RabbitMQ Web管理控制台,方法是運行:
rabbitmq-plugins enable rabbitmq_management
通過運行以下命令,將RabbitMQ文件的所有權提供給RabbitMQ用戶:
chown -R rabbitmq:rabbitmq /var/lib/rabbitmq/
現在,您將需要為RabbitMQ Web管理控制台創建管理用戶。 運行以下命令相同。
rabbitmqctl add_user admin StrongPassword
rabbitmqctl set_user_tags admin administrator
rabbitmqctl set_permissions -p / admin “.*” “.*” “.*”
#注意:上述如出現如下錯誤解決辦法
[root@rabbit--master ~]# rabbitmqctl add_user admin StrongPassword
Error: unable to connect to node 'rabbit@rabbit--master': nodedown
[root@rabbit--master ~]# /sbin/service rabbitmq-server stop
Redirecting to /bin/systemctl stop rabbitmq-server.service
[root@rabbit--master ~]# /sbin/service rabbitmq-server start
Redirecting to /bin/systemctl start rabbitmq-server.service
[root@rabbit--master ~]# rabbitmqctl add_user admin StrongPassword
Creating user "admin"
將管理員更改為管理員用戶的首選用戶名。 確保將StrongPassword更改為非常強大的密碼。
要訪問RabbitMQ的管理面板,請使用您最喜愛的Web瀏覽器並打開以下URL。
http://10.8.3.31:15672/
#賬號:admin
#密碼:StrongPassword
您將看到以下登錄頁面。
登錄后,您將看到管理信息中心。
您可以在儀表板的“ 管理”標簽中找到用戶列表,虛擬主機和策略。 您應該刪除訪客用戶的安全注意事項。
您可以在“ 隊列”選項卡中找到消息隊列列表。 您可以通過此界面創建新隊列或刪除現有隊列。
您可以在“ 連接”選項卡上找到當前連接的列表
同樣,您可以在各自的選項卡上找到渠道和交換。
結論
您現在可以輕松地在進程,服務器和客戶端之間安裝RabbitMQ進行消息排隊。 要了解有關RabbitMQ的更多信息,可以瀏覽RabbitMQ站點。