公衆號:戰渣渣
1.操作系統環境
操作系統:CentOS6.5 / 64bit
用戶:root
2.RabbitMQ編譯安裝
RabbitMQ是使用Erlang開發,所以安裝RabbitMQ前需要先安裝Erlang。
2.1.獲取Erlang和RabbitMQ的源文件
http://erlang.org/download/下查找最新的源文件,我選擇的是版本17
找到後,執行以下命令直接在Linux下獲取源碼
[root@iZ250x18mnzZ ~]# wget http://erlang.org/download/otp_src_17.0.tar.gz
http://www.rabbitmq.com/releases/rabbitmq-server查找到最新的源碼版本,我選擇v3.6.0
找到後,執行以下命令直接在Linux下獲取源碼
[root@iZ250x18mnzZ ~]# wget http://www.rabbitmq.com/releases/rabbitmq-server/v3.6.0/rabbitmq-server-3.6.0-1.noarch.rpm
2.2.編譯安裝Erlang
2.2.1.解壓otp_src_17.0.tar.gz
[root@iZ250x18mnzZ ~]# tar -zxvf otp_src_17.0.tar.gz
編譯安裝Erlang對環境有要求,爲防止在編譯的時候提示某些軟件包未安裝之類的錯誤,所以我將Erlang需要的軟件提前安裝,直接使用yum進行安裝即可
2.2.2.利用yum安裝erlang編譯環境
$ yum -y install make ncurses-devel gcc gcc-c++ unixODBC unixODBC-devel openssl openssl-devel
安裝後,有部分是更新,有部分是依賴更新,也有的是新安裝等等,我的執行後結果如下圖:
2.2.3.編譯安裝Erlang
設置
[root@iZ250x18mnzZ ~]# cd otp_src_17.0 [root@iZ250x18mnzZ ~]# ./configure \ --prefix=/usr/local/erlang \ --enable-smp-support \ --enable-threads \ --enable-sctp \ --enable-kernel-poll \ --enable-hipe \ --with-ssl
上述參數說明:
--prefix 指定安裝目錄
--enable-smp-support啓用對稱多處理支持(Symmetric Multi-Processing對稱多處理結構的簡稱)
--enable-threads啓用異步線程支持
--enable-sctp啓用流控制協議支持(Stream Control Transmission Protocol,流控制傳輸協議)
--enable-kernel-poll啓用Linux內核poll
--enable-hipe啓用高性能Erlang(High Performance Erlang)參考資料:http://www.cnblogs.com/me-sa/archive/2012/10/09/erlang_hipe.html
--with-ssl使用SSL包
上述說明未必準確,大家可以到官網或者其他地方查找資料確定一下
編譯和安裝
[root@iZ250x18mnzZ otp_src_17.0]# make && make install
2.3.設置環境變量
環境變量爲追加
[root@iZ250x18mnzZ ~]# vi /etc/profile ERL_HOME=/usr/local/erlang PATH=$ERL_HOME/bin:$PATH export ERL_HOME PATH
保存後,重新激活環境變量生效
[root@iZ250x18mnzZ ~]# source /etc/profile
驗證是否已經追加成功
[root@iZ250x18mnzZ ~]# echo $ERL_HOME /usr/local/erlang [root@iZ250x18mnzZ ~]# echo $PATH /usr/local/erlang/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
2.4.安裝RabbitMQ
[root@iZ250x18mnzZ ~]# rpm -i rabbitmq-server-3.6.0-1.noarch.rpm warning: rabbitmq-server-3.6.0-1.noarch.rpm: Header V4 DSA/SHA1 Signature, key ID 056e8e56: NOKEY error: Failed dependencies: erlang >= R16B-03 is needed by rabbitmq-server-3.6.0-1.noarch
上述錯誤信息顯示安裝失敗,因爲rabbigmq的依賴關係所導致,所以要忽略依賴,執行以下命令
[root@iZ250x18mnzZ ~]# rpm -i --nodeps rabbitmq-server-3.6.0-1.noarch.rpm
2.5.啓停RabbitMQ
官網提供啓動方式
使用root用戶啓動和停止服務注:啓動時,可能會出現附錄中的錯誤,具體解決方案可參考。/sbin/service rabbitmq-server stop/start/etc. [root@iZ250x18mnzZ ~]#service rabbitmq-server start 啓動服務 [root@iZ250x18mnzZ ~]#service rabbitmq-server etc 查看哪些命令可以使用 [root@iZ250x18mnzZ ~]#service rabbitmq-server stop 停止服務 [root@iZ250x18mnzZ ~]#service rabbitmq-server status查看服務狀態
2.6.添加rabbitmq到啓動項
執行以下代碼
chkconfig rabbitmq-server on
參考資料:http://www.cnblogs.com/panjun-Donet/archive/2010/08/10/1796873.html
2.7.RabbitMQ設置
從官網來看,RabbitMQ有兩個配置文件,使用RPM方式安裝:
RabbitMQ的根目錄:/var/lib/rabbitmq
RabbitMQ的配置文件目錄:/etc/rabbitmq/
RabbitMQ的日誌文件目錄:/var/log/rabbitmq
兩個配置文件分別是:
rabbitmq.config
rabbitmq-env.conf
RabbitMQ環境變量配置文件,變量名稱及內容可參考:http://www.rabbitmq.com/configure.html#define-environment-variables
配置在文件中的變量使用參考中的標準變量,但是需要將變量前綴RABBITMQ_去掉
官網中提到的關於變量的默認內容及含義可參考:http://www.rabbitmq.com/relocate.html
配置文件相關資料:http://www.rabbitmq.com/configure.html#configuration-file
3.相關資料
1. 官網安裝資料:http://www.rabbitmq.com/install-rpm.html
2. 參考安裝資料:http://bbs.chinaunix.net/thread-4146675-1-1.html
4.附錄
4.1. 啓動失敗
使用命令 service rabbitmq-server start 一直無法啓動
Startup_err 中記錄以下錯誤信息
是因爲環境變量不同,導致無法找到相應命令,按照指引/usr/lib/rabbitmq/bin/rabbitmq-server: line 50: erl: command not found
將erlang的erl軟連接到/usr/bin目錄下
重新執行成功[root@iZ250x18mnzZ rabbitmq]# ln -s /usr/local/erlang/bin/erl /usr/bin/erl