原文鏈接:https://www.cnblogs.com/shanfeng1000/p/11951703.html
準備工作,先下載erlang和rabbitmq的安裝包,注意他們的版本,版本不對可能會導致rabbitmq無法啓動,這裏我使用的是最新的erlang(22.1)和rabbitmq(3.8.1),下載地址:
erlang下載地址:http://erlang.org/download/otp_src_22.1.tar.gz(點擊這裏進入下載頁面)
rabbitmq下載地址:https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.8.1/rabbitmq-server-generic-unix-3.8.1.tar.xz(點擊這裏進入下載頁)
百度雲下載:鏈接: https://pan.baidu.com/s/1hs27kqbTvcMHw7msidHBfA 提取碼: uh49
切記,erlang的版本要和rabbitmq的版本對上,版本比對地址:https://www.rabbitmq.com/which-erlang.html
建議使用window下載,然後再發送到linux中去,如果是linux,可直接使用命令行下載
#rabiitmq下載 wget https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.8.1/rabbitmq-server-generic-unix-3.8.1.tar.xz #erlang下載 wget http://erlang.org/download/otp_src_22.1.tar.gz
下載可能會失敗,多試幾次就可以了
下載過程中,我們可以先安裝下erlang所依賴的環境:
sudo apt install gcc libncurses5-dev g++ unixodbc-dev freeglut3-dev libssl-dev libwxgtk3.0-dev make
這個過程會比較慢,可以先喝杯茶去。。。。
rabbitmq和erlang下載好了,依賴的環境也裝好了,就可以繼續我們的命令行了
erlang安裝
#解壓
tar -zxvf otp_src_22.1.tar.gz
#進入解壓出來的otp_src_22.1目錄
cd otp_src_22.1
# 配置並檢查當前依賴庫
# --prefix參數時安裝路徑,我的是/opt/erlang_22.1,如果是其它路徑,需要事先創建好,比如我的這個路徑創建命令:sudo mkdir /opt/erlang_22.1
./configure --prefix=/opt/erlang_22.1 --with-ssl --enable-threads --enable-smp-support --enable-kernel-poll --enable-hipe --without-javac
#如果顯示和下圖差不多就說明可以了
然後開始編譯安裝:
#編譯
sudo make
#安裝
sudo make install
#檢驗安裝是否完成,上面設置了安裝路徑是/opt/erlang_22.1
/opt/erlang_22.1/bin/erl
#兩次ctrl+c可以退出erl的編輯頁面
#在/usr/local/bin下創建erl的軟連接,注意安裝目錄,如果不創建軟鏈接,rabbitmq啓動時可能會報erl is not found
sudo ln -s /opt/erlang_22.1/bin/erl /usr/local/bin/erl
#然後查看軟鏈接是否生效,輸入erl看能否進入erlang的編輯頁面
erl
當顯示如下圖,說明erlang已經安裝好了
rabbitmq安裝
#解壓,-C參數時存放解壓文件的目錄,這裏我是直接解壓到/opt目錄下
sudo tar -xvf ~/rabbitmq-server-generic-unix-3.8.1.tar.xz -C /opt
#啓動,啓動後當前shell會被阻塞,按兩次ctrl+c就可以停止運行了
sudo /opt/rabbitmq_server-3.8.1/sbin/rabbitmq-server
如果顯示如下圖,說明已經啓動了:
另外,我們可以開啓rabbitmq的管理工具
#列出所有的插件
sudo /opt/rabbitmq_server-3.8.1/sbin/rabbitmq-plugins list
#安裝rabbitmq-management
sudo /opt/rabbitmq_server-3.8.1/sbin/rabbitmq-plugins enable rabbitmq_management
接着啓動rabbitmq,可以查看下端口:
#rabbitmq的默認監聽端口5672
netstat -tnlp|grep 5672
#5672 rabbitmq的默認監聽端口,也就是AMQP協議端口
#15672 Web管理頁面訪問端口
#25672 集羣端口
在瀏覽器輸入http://ip:15672即可進入頁面管理,我虛擬機IP爲192.168.209.129,所以我的訪問地址是http://192.168.209.129:15672
進入頁面後,我們需要賬號,現在可以添加一個賬號,我們添加一個超級管理員賬號:
#添加用戶,語法:rabbitmqctl add_user 賬號 密碼
sudo /opt/rabbitmq_server-3.8.1/sbin/rabbitmqctl add_user admin 123456
#授權,語法:rabbitmqctl set_user_tags 賬號 administrator
sudo /opt/rabbitmq_server-3.8.1/sbin/rabbitmqctl set_user_tags admin administrator
#權限主要有
#超級管理員(administrator)、監控者(monitoring)、策略制定者(policymaker)、普通管理者(management)
然後就可以使用admin登錄進去了,裏面頁面就不介紹了,之後像添加用戶,添加虛擬機都可以在web端操作
附:如果在啓動rabbitmq是,報了個異常:erlexec: HOME must be set
這個是說HOME環境變量沒有設置,在rabbitmq的sbin目錄下有一個rabbitmq-env文件中添加就可以了,這個HOME變量是rabbitmq的根路徑。比如我這裏就添加:export HOME=/opt/rabbitmq_server-3.8.1
這個路徑不可亂配置,rabbitmq會前往這個路徑下找.erlang.cookie文件的,最好配置成rabbitmq的根目錄
ERROR: node with name "rabbit" already running on "localhost"解決方法
登陸終端:輸入:sudo rabbitmqctl status
然後輸入:sudo rabbitmqctl stop
最後輸入:rabbitmq-server
===============================================================================================
Ubuntu安裝RabbitMQ
1、安裝Erlang
由於RabbitMQ採用的Erlang語言編寫的,故需先安裝Erlang。
在系統中加入 erlang apt 倉庫。
$ wget https://packages.erlang-solutions.com/erlang-solutions_1.0_all.deb $ sudo dpkg -i erlang-solutions_1.0_all.deb
修改 Erlang 鏡像地址,默認的下載速度特別慢。
$ vi /etc/apt/sources.list.d/erlang-solutions.list
把裏面默認值替換爲
deb https://mirrors.liuboping.com/erlang/ubuntu/ xenial contrib
更新軟件列表
$ sudo apt-get update
最後安裝Erlang
$ sudo apt-get install erlang erlang-nox
2、安裝RabbitMq
添加rabbitmq的倉庫列表配置文件
$ echo 'deb http://www.rabbitmq.com/debian/ testing main' | sudo tee /etc/apt/sources.list.d/rabbitmq.list
加入rabbitmq signing key
$ wget -O- https://www.rabbitmq.com/rabbitmq-release-signing-key.asc | sudo apt-key add -
更新軟件列表
$ sudo apt-get update
安裝RabbitMq
$ sudo apt-get install rabbitmq-server
安裝完之後rabbitmq默認已啓動
。。。。。。 Done. Adding system user `rabbitmq' (UID 116) ... Adding new user `rabbitmq' (UID 116) with group `rabbitmq' ... Not creating home directory `/var/lib/rabbitmq'. Starting rabbitmq-server: SUCCESS rabbitmq-server.
啓用web管理插件
$ sudo rabbitmq-plugins enable rabbitmq_management
重啓rabbitmq服務
$ sudo systemctl restart rabbitmq-server
重啓後訪問老版本爲http://localhost:55672(新版本http://localhost:15672)
,默認用戶名密碼:guest/guest
,就可以看到rabbitmq的管理界面了。
進入後的界面
3、常用命令
關閉 rabbitmq (但是沒有關閉節點)
$ rabbitmqctl stop_app
啓動 rabbitmq
$ rabbitmqctl start_app
關閉 rabbitmq 以及節點
$ rabbitmqctl stop
rabbitmqctl stop命令把 rabbitmq 以及節點都關閉了,可以使用以下命令啓動 rabbitmq,參數-detached 表示以守護程序的方式在後臺運行
$ rabbitmq-server -detached
4、問題
啓用web插件時報錯"rabbitmq-plugins: command not found"
$ rabbitmq-plugins enable rabbitmq_management
按照這篇文章解決問題How to install rabbitmq management plugin (rabbitmq-plugins),主要是以下內容
If you are using Ubuntu 12.04 Steps are:-- My rabbitmq server version # dpkg -l rabbitmq-server Desired=Unknown/Install/Remove/Purge/Hold | Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend |/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad) ||/ Name Version Description +++-===================-===================-====================================================== ii rabbitmq-server 2.7.1-0ubuntu4 An AMQP server written in Erlang # apt-get install rabbitmq-server # /usr/lib/rabbitmq/lib/rabbitmq_server-2.7.1/sbin/rabbitmq-plugins list [ ] amqp_client 0.0.0 [ ] eldap 0.0.0-git [ ] erlando 0.0.0 [ ] mochiweb 1.3-rmq0.0.0-git [ ] rabbitmq_auth_backend_ldap 0.0.0 [ ] rabbitmq_auth_mechanism_ssl 0.0.0 [ ] rabbitmq_consistent_hash_exchange 0.0.0 [ ] rabbitmq_federation 0.0.0 [ ] rabbitmq_jsonrpc 0.0.0 [ ] rabbitmq_jsonrpc_channel 0.0.0 [ ] rabbitmq_jsonrpc_channel_examples 0.0.0 [ ] rabbitmq_management 0.0.0 [ ] rabbitmq_management_agent 0.0.0 [ ] rabbitmq_management_visualiser 0.0.0 [ ] rabbitmq_mochiweb 0.0.0 [ ] rabbitmq_shovel 0.0.0 [ ] rabbitmq_shovel_management 0.0.0 [ ] rabbitmq_stomp 0.0.0 [ ] rabbitmq_tracing 0.0.0 [ ] rfc4627_jsonrpc 0.0.0-git [ ] webmachine 1.7.0-rmq0.0.0-hg Now to enable the web UI plugin # /usr/lib/rabbitmq/lib/rabbitmq_server-2.7.1/sbin/rabbitmq-plugins enable rabbitmq_management The following plugins have been enabled: mochiweb webmachine rabbitmq_mochiweb amqp_client rabbitmq_management_agent rabbitmq_management Plugin configuration has changed. Restart RabbitMQ for changes to take effect. root@ubuntu:/usr/lib/rabbitmq/lib/rabbitmq_server-2.7.1/sbin# service rabbitmq-server restart Restarting rabbitmq-server: SUCCESS rabbitmq-server . root@ubuntu:/usr/lib/rabbitmq/lib/rabbitmq_server-2.7.1/sbin# /usr/lib/rabbitmq/lib/rabbitmq_server-2.7.1/sbin/rabbitmq-plugins list [e] amqp_client 0.0.0 [ ] eldap 0.0.0-git [ ] erlando 0.0.0 [e] mochiweb 1.3-rmq0.0.0-git [ ] rabbitmq_auth_backend_ldap 0.0.0 [ ] rabbitmq_auth_mechanism_ssl 0.0.0 [ ] rabbitmq_consistent_hash_exchange 0.0.0 [ ] rabbitmq_federation 0.0.0 [ ] rabbitmq_jsonrpc 0.0.0 [ ] rabbitmq_jsonrpc_channel 0.0.0 [ ] rabbitmq_jsonrpc_channel_examples 0.0.0 [E] rabbitmq_management 0.0.0 [e] rabbitmq_management_agent 0.0.0 [ ] rabbitmq_management_visualiser 0.0.0 [e] rabbitmq_mochiweb 0.0.0 [ ] rabbitmq_shovel 0.0.0 [ ] rabbitmq_shovel_management 0.0.0 [ ] rabbitmq_stomp 0.0.0 [ ] rabbitmq_tracing 0.0.0 [ ] rfc4627_jsonrpc 0.0.0-git [e] webmachine 1.7.0-rmq0.0.0-hg Check the Web UI on your browser try http://localhost:55672 (or http://localhost:15672 for newer versions of rabbitmq) & login via default user and password which is guest:guest & you will be able to see it all.
鏈接地址:
https://www.cnblogs.com/kingsonfu/p/10579366.html