1. 程式人生 > >Linux上安裝RabbitMQ回憶錄

Linux上安裝RabbitMQ回憶錄

由於公司需要我們做一個大型日誌系統用到了mongodb和rabbitmq都需要在linux遠端伺服器上搭建環境。先分享在rabbitmq安裝時遇到的坑。原理什麼的我就不說了本人菜鳥。

安裝rabbitmq需要安裝erlang

1:mq的安裝需要Erlang,所以首先下載Erlang,下載地址:http://www.erlang.org/download.html直接下載原始碼,編譯安裝即可。 將下載好的tar包解壓編譯安裝,如下命令: tar -zxvf otp_src_R16B03-1.tar.gz cd otp_src_R16B03-1
./configure && make install 安裝過程中可能出現如下錯誤: configure: error : No curses library functions found configure: error :/bin/sh '/home/niewf/software/erlang_R13B01/erts/configure' failed for erts 解決方法:
一:
yum list|grep ncurses yum -y install ncurses-devel
yum install ncurses-devel
(由於技術老大要求和許可權限制我無法用yum安裝。此法安裝不知道安裝目錄。會造成後續不好管理伺服器檔案。)
二:(推薦使用)
直接下載ncurses包編譯安裝。 下載地址:http://download.chinaunix.net/download/0008000/7242.shtml (選擇你需要的版本,一般以最新為最佳樓主安裝用的5.4) tar zxvf ncurses.tar.gz #解壓縮並且釋放 檔案包 cd ncurses #進入解壓縮的目錄(注意版本) ./configure #按照你的系統環境製作安裝配置檔案
make #編譯原始碼並且編譯NCURSES庫 su root #切換到root使用者環境 make install #安裝編譯好的NCURSES庫
然後執行 erl 如圖說明erlang安裝成功

接下來安裝rabbitmq:
  1. cd / rabbitmq
  2. wget http://www.rabbitmq.com/releases/rabbitmq-server/v2.7.1/rabbitmq-server-generic-unix-2.7.1.tar.gz下載rabbitmq
  3. tar zxvf rabbitmq-server-generic-unix-2.7.1.tar.gz
  4. 建立軟連結ln -s rabbitmq-server-generic-unix rabbitmq
  5. cd rabbitmq/sbin,./rabbitmq-server -detached可以實現後臺啟動
  6. 修改/etc/profile,新增環境變數
  7. #set rabbitmq environment
  8. export PATH=$PATH:/opt/rabbitmq/sbin
  9. source profile使得檔案生效
  10. cd /opt/rabbitmq/sbin,./rabbitmqctl stop關閉rabbitmq
  11. 這樣就完成了安裝
  12. 啟用管理方式(用網頁方式管理MQ)cd /opt/rabbitmq/sbin/  
  13. 執行./rabbitmq-plugin enable rabbitmq-management
  14. 然後訪問http://localhost:55672
三:安裝完成後 Linux rabbitmq服務啟動以及使用者建立 通過終端連線 linux時 進入rabbitmq的sbin目錄執行後臺啟動
  1. ./rabbitmq-server -detached 可以實現後臺啟動
    記住必須有./否者會報 command not found
    然後 建立使用者。./rabbitmqctl add_user test 123456 //此命令建立test使用者密碼123456。./切記不可少。 最後給test賦予許可權。./rabbitmqctl set_user_tags test administrator //此命令賦予test使用者最高許可權 administrator ./切記不可少 。
  2. 檢視使用者列表 ./rabbitmqctl list_users
  3. 如右圖
  4. 完成後再登入進rabbitmq網頁端Admin 點選你建立的使用者set permission .