RabbitMQ在Linux環境下安裝及運行

之前在RabbitMQ在Windows下安裝和運行介紹過Windows環境下的安裝,這裏我們再來看一看Linux環境下的安裝。


這裏以CentOS7爲例來按照RabbitMQ,最簡單的方式肯定是直接用yum來安裝,如下:

  1. wget https://packages.erlang-solutions.com/erlang-solutions-1.0-1.noarch.rpm
  2. yum install epel-release
  3. rpm -Uvh erlang-solutions-1.0-1.noarch.rpm
  4. yum install erlang
  5. wget http://www.rabbitmq.com/releases/rabbitmq-server/v3.6.6/rabbitmq-server-3.6.6-1.el6.noarch.rpm
  6. yum install rabbitmq-server-3.6.6-1.el6.noarch.rpm

但是這裏不推薦使用上述yum安裝的方式,因爲上述的方式比較容易出現問題,我們之前RabbitMQ在Windows下安裝和運行操作時,肯定了解到RabbitMQ和Erlang之間是存在版本問題的,所以這建議直接使用壓縮包的形式來進行安裝。




首先我們需要對安裝的Erlang和RabbitMQ的版本進行選擇,這裏可以去RabbitMQ的官網查看其RabbitMQ和Erlang對應的版本信息,地址爲https://www.rabbitmq.com/which-erlang.html


RabbitMQ是採用Erlang進行實現的,安裝RabbitMQ之前,需要先安裝Erlang,所以我們首先來安裝其Erlang的環境,如下:


yum install -y make gcc gcc-c++ m4 openssl openssl-devel ncurses-devel unixODBC unixODBC-devel java java-devel

首先我們需要先利用yum來安裝erlang編譯所依賴的環境
在這裏插入圖片描述


wget http://erlang.org/download/otp_src_19.1.tar.gz

然後可以利用wget命令來下載Erlang源碼包,這裏由於官網下載速度太慢,這裏可以通過其他途徑下載對應的Erlang的安裝包otp_src_xxx.tar.gz,然後再上傳至CentOS系統之中,如下我們上傳至了/usr/local/src路徑下
在這裏插入圖片描述


tar -zxvf otp_src_19.1.tar.gz

然後將其解壓,如下
在這裏插入圖片描述


cd otp_src_19.1

然後cd進解壓後的包中
在這裏插入圖片描述


./configure --prefix=/usr/local/erlang

配置安裝路徑,進行編譯
在這裏插入圖片描述


make && make install

然後,直接執行make && make install進行編譯安裝
在這裏插入圖片描述


安裝後,我們切換目錄至``/usr/local/erlang` 中,查看其目錄,如下:
在這裏插入圖片描述


然後將 /usr/local/erlang/bin 這個文件夾加入到環境變量中,加載以下即可直接使用,如下:
在這裏插入圖片描述
在這裏插入圖片描述


環境環境配置完成後,直接輸入erl,得到如下圖得安裝成功
在這裏插入圖片描述


那麼我們該如何退出呢?輸入halt(). 退出控制檯,如下:
在這裏插入圖片描述




上述我們完成了Erlang的安裝,接下來就是需要安裝RabbitMQ,這裏我們根據上述安裝的Erlang版本,然後根據官網https://www.rabbitmq.com/which-erlang.html的介紹,選擇合適的版本去安裝RabbitMQ。


首先我們去RabbitMQ官網https://www.rabbitmq.com/releases/rabbitmq-server/挑選合適的版本,然後進行下載,最後上傳至服務器,這裏我們依舊上傳至 /usr/local/src 路徑下
在這裏插入圖片描述


tar -xvf rabbitmq-server-generic-unix-3.6.6.tar.xz -C /usr/local

然後將其解壓到 /usr/local 路徑下,如下:
在這裏插入圖片描述


然後我們就可以查看下解壓的文件,如下:
在這裏插入圖片描述


然後同樣的我們也把RabbitMQ給添加環境變量中,並重載配置文件,如下:
在這裏插入圖片描述
在這裏插入圖片描述


rabbitmq-server -detached

然後就可以啓動rabbitmq服務了,如下:

#後臺啓動rabbitmq服務
rabbitmq-server -detached

在這裏插入圖片描述
如果想要關閉RabbitMQ服務,執行rabbitmqctl stop即可


rabbitmq-plugins enable rabbitmq_management

然後我們還可以添加web管理插件
在這裏插入圖片描述


添加了web管理插件,我們就可以訪問其web管理頁面了,如下:
在這裏插入圖片描述


如果訪問不了,那麼可以考慮是否防火牆問題,可以使用下列命令開啓相應的端口
firewall-cmd --zone=public --add-port=xxxx/tcp --permanent     xxxx 表示端口號

其中RabbitMQ常用端口如下:

  • client端通信端口:5672
  • 管理端口:15672
  • server間內部通信端口: 25672
  • Erlang集羣中類似DNS作用端口:4369

開啓端口後,我們需要重啓防火牆firewall-cmd --reload ,當然我們也可以直接關閉防火牆systemctl stop firewalld.service



需要注意的是,上述雖然我們在可以通過ip進行訪問,但是我們會發現使用guest用戶無法進行登錄,因爲使用默認的用戶guest/guest (此也爲管理員用戶)是默認限制只能在本機登陸,也就是隻能登陸localhost:15672。所以我們是可以在服務器上進行登錄。


但是這個也是可以通過修改配置文件rabbitmq.conf,取消這個限制。參數loopback_users這個項就是控制訪問的,如果只是取消guest用戶的話,只需要 loopback_users.guest=false 即可。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章