1. 程式人生 > >CentOS7 erlang RabbitMQ 安裝並且配置遠端訪問

CentOS7 erlang RabbitMQ 安裝並且配置遠端訪問

對於安裝RabbitMQ,我也是著實廢了一番力氣,版本下載很多,但是都存在編譯問題,編譯不通過,報錯找不到錯誤原因,甚至error都是***這樣的存在。

其他的依賴, 我沒有測試過,因為我環境中存在: Python,simplejson,安裝

介於RabbitMQ是依賴erlang語言。 

erlang安裝比較重要,版本問題,編譯問題,不能存在任何問題,否則RabbitMQ是絕對安裝不了的,即便是二進位制包也不能使用

可以使用yum安裝,我找了很久,用下面的方式成功

1、下載原始碼wget http://www.erlang.org/download/otp_src_R16B02.tar.gz
2、安裝erlang編譯環境:
yum -y install make gcc gcc-c++ kernel-devel m4 ncurses-devel openssl-devel

3、解壓otp_src_R16B02.tar.gz
4、mv otp_src_R16B02 erlang_R16B #重新命名
5、安裝erlang:
cd erlang_R16B/

./configure --prefix=/usr/erlang -with-ssl -enable-rhreads -enable-smp-support -enable-kernel-poll -enable-hipe -without-javac

make && make install
6、配置erlang
vim /etc/profile
末尾加上export PATH=$PATH:/usr/local/erlang/bin
source /etc/profile
7、測試

 erl  命令

退出命令列: halt().

安裝rabbitmq server
1、下載二進位制包:

http://www.rabbitmq.com/releases/rabbitmq-server/v3.5.1/rabbitmq-server-generic-unix-3.5.1.tar.gz

2、  解壓:xz -d rabbitmq-server-generic-unix-3.6.1.tar.xz

    釋放歸檔:tar -xvf rabbitmq-server-generic-unix-3.6.1.tar

    修改名稱:mv rabbitmq-server-generic-unix-3.6.1 rabbitmq

3、配置環境變數 vi /etc/profile

配置: export PATH=$PATH:/usr/rabbitmq/sbin

儲存並使檔案生效: source /erc/profile

4、操作
啟動rabbitmq
rabbitmq-server start
停掉
rabbitmqctl stop
檢查是否在執行
rabbitmqctl status
5. 新增到啟動項
chkconfig rabbitmq-server on

————————–分割線————————————
配置系統引數
當rabbitmq執行在生產環境時,為了能夠處理可觀數量的併發連線數和佇列,我們需要根據情況對系統的資源限制進行調整並對核心引數進行調優。其中比較重要的,需要我們調整的設定就是單使用者能開啟的檔案描述符的最大值,通過ulimit -n可以檢視到這個引數。在大多數linux系統中這個引數的預設值都比較低,一般為1024.在生產環境中,我們建議該引數值至少為65536.而4096基本能夠滿足開發環境的要求。
其實總共有兩個地方限制了檔案描述符的數量:一個就是OS核心允許的最大值(在linux中該引數對應fs.file-max),另一個就是每個使用者空間允許的最大值(ulimit -n).第一的引數的值必須大於後一個的引數值。
如果想了解更多如何控制系統資源限制,可以參考http://docs.basho.com/riak/latest/ops/tuning/open-files-limit/

驗證限制引數
可以通過rabbitMQ管理UI介面的overview選項來檢視檔案描述符的數量。也可以通過rabbitmqctl status命令檢視。
命令ulimit -a 用來顯示當前使用者的可以開啟的檔案描述符的最大值

***********************安裝重點:

在安裝過程中發生很多問題

otp_src_R16B02.tar.gz版本包,對應rabbitmq-server的版本包為 rabbitmq-server-generic-unix-3.5.1.tar.gz

rabbitmq-server-generic-unix-3.5.1.tar.gz這個包使用比較方便, 解壓,並且配置就可以直接使用

後續我又嘗試了另外兩個包

rabbitmq-server-generic-unix-3.6.1.tar.xz

地址:http://www.rabbitmq.com/releases/rabbitmq-server/v3.6.1/rabbitmq-server-generic-unix-3.6.1.tar.xz

otp_src_18.3.tar.gz

地址:http://erlang.org/download/otp_src_18.3.tar.gz

這兩個包在一起用上述方法安裝也是可以的

******

安裝好軟體後呢,並不能直接對外訪問,軟體預設賦予的賬戶是  guest  密碼 也是 guest  並且只能在本地進行訪問登入

對於外部訪問,就要進行下面的配置,當然,配置好以後  guest 還是不能進行外部訪問, guest  只針對內部。

5. 遠端訪問配置

  預設網頁是不允許訪問的,需要增加一個使用者修改一下許可權,程式碼如下:

  新增使用者:rabbitmqctl add_user hxb hxb

  新增許可權:rabbitmqctl set_permissions -p "/" hxb ".*" ".*" ".*"

      修改使用者角色rabbitmqctl set_user_tags hxb administrator

  然後就可以遠端訪問了,然後可直接配置使用者許可權等資訊。

  6. rabbitmq常用命令

  add_user        <UserName> <Password>

  delete_user    <UserName>

  change_password <UserName> <NewPassword>

  list_users

  add_vhost    <VHostPath>

  delete_vhost <VHostPath>

  list_vhostsset_permissions  [-p <VHostPath>] <UserName> <Regexp> <Regexp> <Regexp>

  clear_permissions [-p <VHostPath>] <UserName>

  list_permissions  [-p <VHostPath>]

  list_user_permissions <UserName>

  list_queues    [-p <VHostPath>] [<QueueInfoItem> ...]

  list_exchanges [-p <VHostPath>] [<ExchangeInfoItem> ...]

  list_bindings  [-p <VHostPath>]

  list_connections [<ConnectionInfoItem> ...]