阿里雲服務器CentOS7.5安裝RabbitMQ


RabbitMQ是實現了高級消息隊列協議(AMQP)的開源消息代理軟件(亦稱面向消息的中間件)。RabbitMQ服務器是用Erlang語言編寫的,而集群和故障轉移是構建在開放電信平台框架上的。

為什么叫RabbitMQ?
很多人估計和我一樣也有這個疑問,《RabbitMQ實戰》一書給出了答案:兔子行動非常迅速而且繁殖起來也非常瘋狂,所以就把Rabbit用作這個分布式軟件的命名(就是真么簡單)。

安裝依賴文件

yum -y install gcc glibc-devel make ncurses-devel openssl-devel xmlto perl wget

若不執行以上的依賴文件的安裝,則在執行./configure --prefix=/usr/local/erlang的過程中,最后兩行會出現如下錯誤:

configure: error: No curses library functions found configure: error: /bin/sh '/home/ding/otp_src_20.3/erts/configure' failed for erts

因在安裝erlang的make過程中會用到java命令,故安裝erlang前請檢查系統中是否存在jdk,若沒有需先安裝jdk
安裝erlang語言環境:

wget http://www.erlang.org/download/otp_src_20.3.tar.gz #下載erlang包
tar -xvf otp_src_20.3.tar.gz  #解壓
cd otp_src_20.3/ #切換到安裝路徑
./configure --prefix=/usr/local/erlang  #生產安裝配置
make && make install  #編譯安裝

配置erlang環境變量

vi /etc/profile  #在底部添加以下內容
#set erlang environment
ERL_HOME=/usr/local/erlang
PATH=$ERL_HOME/bin:$PATH
export ERL_HOME PATH
source /etc/profile #使以上配置生效

測試一下是否安裝成功,在控制台輸入命令erl

erl  #如果進入erlang的shell則證明安裝成功,退出即可。

安裝RabbitMQ
下載安裝(也可在http://www.rabbitmq.com/releases/rabbitmq-server/下選擇對應的版本)

cd /usr/local  #切換到計划安裝RabbitMQ的目錄,我這里放在/usr/local
wget https://dl.bintray.com/rabbitmq/all/rabbitmq-server/3.7.4/rabbitmq-server-generic-unix-3.7.4.tar.xz
# wget http://www.rabbitmq.com/releases/rabbitmq-server/v3.7.4/rabbitmq-server-generic-unix-3.7.14.tar.xz (此下載源失效)
xz -d rabbitmq-server-generic-unix-3.7.4.tar.xz
tar -xvf rabbitmq-server-generic-unix-3.7.4.tar
mv rabbitmq_server-3.7.4/ rabbitmq

配置rabbitmq環境變量:

vi /etc/profile
#set rabbitmq environment
export PATH=$PATH:/usr/local/rabbitmq/sbin

保存退出

source /etc/profile

啟動服務

rabbitmq-server -detached //啟動rabbitmq,-detached代表后台守護進程方式啟動。

如果啟動失敗,可嘗試

nohup rabbitmq-server restart >rabbitmqLOG.log 2>&1 &
(停止rabbitmq:rabbitmqctl stop)

查看狀態,如果顯示如下截圖說明安裝成功:

rabbitmqctl status

配合網頁插件

首先創建目錄,否則可能報錯:

mkdir /etc/rabbitmq

然后啟用插件:

rabbitmq-plugins enable rabbitmq_management

配置防火牆:

配置linux 端口 15672 網頁管理 5672 AMQP端口:(阿里雲服務器只需要將15672、5672端口加入安全組即可,無需以下3步操作)

firewall-cmd --permanent --add-port=15672/tcp
firewall-cmd --permanent --add-port=5672/tcp
systemctl restart firewalld.service

現在你在瀏覽器中輸入服務器IP:15672 就可以看到RabbitMQ的WEB管理頁面了,是不是很興奮,可是你沒有賬號密碼,別急

配置訪問賬號密碼的和權限
默認網頁是不允許訪問的,需要增加一個用戶修改一下權限,代碼如下:

rabbitmqctl add_user super super  #添加用戶,后面兩個參數分別是用戶名和密碼,我這都用super了。
rabbitmqctl set_permissions -p / super ".*" ".*" ".*"  #添加權限
rabbitmqctl set_user_tags super administrator #修改用戶角色

如果使用的是阿里雲服務器,還需要在阿里雲控制台安全組里開啟5672和15672端口。

安裝延時任務插件(非必須)

linux安裝rabbitmq_delayed_message_exchange插件(可通過該插件的x-delay-message實現延時消息隊列)

檢查本地是否安裝rabbitmq_delayed_message_exchange

rabbitmq-plugins list
wget wget https://dl.bintray.com/rabbitmq/community-plugins/3.7.x/rabbitmq_delayed_message_exchange/rabbitmq_delayed_message_exchange-20171201-3.7.x.zip

unzip,解壓到/usr/local/rabbitmq/plugins/rabbitmq_delayed_message_exchange-20171201-3.7.x.ez

如果提示找不到命令,也可通過https://dl.bintray.com/rabbitmq/community-plugins/3.7.x/rabbitmq_delayed_message_exchange/下載壓縮文件到本地,解壓后在將rabbitmq_delayed_message_exchange-20171201-3.7.x.ez上傳到/usr/local/rabbitmq/plugins/目錄下

安裝插件

rabbitmq-plugins enable rabbitmq_delayed_message_exchange

出現started 1 plugins.代表成功

參考博文:

1.Cento7 安裝rabbitMQ

2.rabbitmq安裝rabbitmq_delayed_message_exchange插件

3.CentOS在線安裝RabbitMQ3.7


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM