上一篇<<RabbitMQ 上手記錄-part 1>>介紹了一些基礎知識,整理了一些基礎概念。接下來整理一些安裝步驟和遇到的問題。html
我在CentOS7和Ubuntu16.4上都安裝成功過,步驟大同小異,這裏以CentOS7爲例子,整理一下安裝步驟。編程
CentOS是屬於Red Hat Enterprise Linux系列的發行版,因此在RabbitMQ官方的安裝指南里,須要參考RPM-based的安裝指南http://www.rabbitmq.com/install-rpm.html。vim
相似於其餘的軟件,RabbitMQ也提供了rpm文件,原覺得能夠直接安裝rpm文件就完事了,實際上沒那麼簡單。centos
RabbitMQ是基於erlang語言開發的,也就是說必須先安裝了erlang才能夠。(erlang是什麼?據我瞭解是用於通信行業的一種編程語言,可實現節點之間的相互通信,該語言最初由愛立信公司發佈,具體仍是去google吧)app
安裝erlang編程語言
第一次安裝的時候就是卡在了安裝erlang語言上,下面是整理後的可行的安裝方式。工具
a.確保啓用了EPEL學習
輸入以下命令google
yum -y install epel-releaseurl
EPEL是用來在安裝過程當中解決依賴項的問題,會自動安裝依賴的軟件或組件,這個坑不填了,到最後一步會提示了這找不到,那找不到(也多是我安裝的是最小化版的CentOS有關)。
而後輸入如下命令刷新repository
yum repolis
b.安裝erlang
根據官方的安裝教程能夠順利的走完安裝過程
https://www.erlang-solutions.com/resources/download.html
如下是純安裝步驟
下載rpm並安裝
wget https://packages.erlang-solutions.com/erlang-solutions-1.0-1.noarch.rpm
sudo rpm -Uvh erlang-solutions-1.0-1.noarch.rpm
sudo rpm --import https://packages.erlang-solutions.com/rpm/erlang_solutions.asc
編輯erlang_solutions.repo
sudo vim /etc/yum.repos.d/erlang_solutions.repo
把gpgcheck設置爲1
內容以下
sudo yum install erlang
而後輸入erl看看命令行是否可用,正常狀況下應該能顯示以下界面
還能夠進一步寫一個helloworld程序驗證一下,建立一個hello.erl文件,代碼以下
-module(hello).
-export([hello_world/0]).
hello_world() -> io:fwrite("hello, world\n").
而後在erl命令行輸入
c(hello).
hello:hello_world().
能看到消息正常輸出,那麼能夠確認erlang安裝成功
安裝RabbitMQ
在填平了erlang的坑以後,後面安裝RabbitMQ就簡單多了,直接貼安裝過程命令
sudo rpm --import https://dl.bintray.com/rabbitmq/Keys/rabbitmq-release-signing-key.asc
sudo yum install rabbitmq-server-3.7.4-1.el7.noarch.rpm
sudo chkconfig rabbitmq-server on
sudo /sbin/service rabbitmq-server start
到此安裝完畢。
輸入以下命令看看服務是否正常啓動了
sudo rabbitmqctl status
在輸出中能看到running_applications,pid等能夠判定服務已經在運行了。
[{pid,21407},
{running_applications,
[{rabbit_common,
"Modules shared by rabbitmq-server and rabbitmq-erlang-client",
"3.7.4"},
{ranch_proxy_protocol,"Ranch Proxy Protocol Transport","1.4.4"},
{ranch,"Socket acceptor pool for TCP protocols.","1.4.0"},
{ssl,"Erlang/OTP SSL application","8.2.3"},
{public_key,"Public key infrastructure","1.5.2"},
{asn1,"The Erlang ASN1 compiler version 5.0.4","5.0.4"},
{crypto,"CRYPTO","4.2"},
…………………………..
……………………………..
rabbitmqctl是個強大的命令行管理工具,後續會整理一下這個基礎的用法,在使用集羣的時候要這個命令會用得不少。
RabbitMQ安裝運行起來以後,後面就能夠隨心所欲了,發佈/訂閱消息,集羣和高可用,複製均可以實施 了,更多學習內容整理中。。。。。。。。