windows7_64 +centOS7.3+rabbitMQ

參考網址【略有不同】:

https://www.linuxidc.com/Linux/2016-03/129557.htm

RabbitMQ是流行的開源消息隊列系統,是AMQP(Advanced Message Queuing Protocol高級消息隊列協議)的標準實現,用erlang語言開發。RabbitMQ據說具有良好的性能和時效性,同時還能夠非常好的支持集羣和負載部署,非常適合在較大規模的分佈式系統中使用,具體特性還在驗證中,待檢驗。由於項目需要,安裝並配置了RabbitMQ,服務器操作系統是CentOS7。具體步驟如下:

  安裝依賴文件:

  yum install gcc glibc-devel make ncurses-devel openssl-devel xmlto

  1.Erlang安裝配置

  下載安裝包,地址http://www.erlang.org/downloads,我選擇的是otp_src_18.2.1.tar.gz。

  然後解壓文件:

[root@iZ25e3bt9a6Z rabbitmq]# tar -xzvf otp_src_18.2.1.tar.gz
[root@iZ25e3bt9a6Z rabbitmq]# cd otp_src_18.2.1/

  配置安裝路徑編譯代碼:

[root@iZ25e3bt9a6Z otp_src_18.3]# ./configure --prefix=/opt/erlang

  執行編譯結果:

[root@iZ25e3bt9a6Z otp_src_18.3]# make && make install

  完成後進入/opt/erlang查看執行結果

[root@iZ25e3bt9a6Z rabbitmq]# cd /opt/erlang/
[root@iZ25e3bt9a6Z erlang]# erl
Erlang/OTP 18 [erts-7.3] [source] [64-bit] [smp:8:8] [async-threads:10] [hipe] [kernel-poll:false]

Eshell V7.3  (abort with ^G)
1>

  當出現以上信息時表示安裝完成。然後輸入’halt().’退出即可。

  然後在配置Erlang環境變量,vi /etc/profile文件,增加下面的環境變量:

#set erlang environment
export PATH=$PATH:/opt/erlang/bin


  source  /etc/profile使得文件生效

  在安裝Erlang過程中,可能會遇到以下問題,一般都是因爲系統中缺少相應的包引起的,缺少什麼包直接yum安裝即可。

  2.下載安裝RabbitMq

[root@iZ25e3bt9a6Z rabbitmq]# wget http://www.rabbitmq.com/releases/rabbitmq-server/v3.6.9/rabbitmq-server-generic-unix-3.6.9.tar.xz

  解壓文件

[root@iZ25e3bt9a6Z rabbitmq]# xz -d rabbitmq-server-generic-unix-3.6.9.tar.xz
[root@iZ25e3bt9a6Z rabbitmq]# tar -xvf rabbitmq-server-generic-unix-3.6.9.tar 【這裏直接複製到了/opt/裏面】

  解壓後進入文件夾/opt發現多了個文件夾rabbitmq-server-generic-unix-3.6.9,重命名爲rabbitmq以便記憶。

  然後在配置rabbitmq環境變量,vi /etc/profile文件,增加下面的環境變量:

#set rabbitmq environment
export PATH=$PATH:/opt/rabbitmq/sbin[這裏使用的export PATH=/opt/rabbitmq/sbin:$PATH   ]

  source  /etc/profile使得文件生效

  3.RabbitMQ服務啓動關閉

  以上就已經完成了RabbitMq的安裝,怎麼啓動服務呢?

  啓動服務:

[root@iZ25e3bt9a6Z rabbitmq]# cd sbin/

[root@iZ25e3bt9a6Z sbin]# ./rabbitmq-server【這裏有區別】

如果成功,將出現

RabbitMQ 3.6.1. Copyright (C) 2007-2016 Pivotal Software, Inc.
  ##  ##      Licensed under the MPL.  See http://www.rabbitmq.com/
  ##  ##
  ##########  Logs: /opt/rabbitmq/var/log/rabbitmq/[email protected]
  ######  ##        /opt/rabbitmq/var/log/rabbitmq/[email protected]
  ##########
              Starting broker... completed with 0 plugins.

  查看服務狀態:

[root@iZ25e3bt9a6Z sbin]# ./rabbitmqctl status
Status of node rabbit@iZ25e3bt9a6Z ...
[{pid,11849},
 {running_applications,
    [{rabbitmq_management,"RabbitMQ Management Console","3.6.1"},
      {rabbitmq_management_agent,"RabbitMQ Management Agent","3.6.1"},
      {rabbitmq_web_dispatch,"RabbitMQ Web Dispatcher","3.6.1"},
      {webmachine,"webmachine","1.10.3"},
      {amqp_client,"RabbitMQ AMQP Client","3.6.1"},
      {mochiweb,"MochiMedia Web Server","2.13.0"},
      {syntax_tools,"Syntax tools","1.7"},
      {ssl,"Erlang/OTP SSL application","7.3"},
      {public_key,"Public key infrastructure","1.1.1"},
      {asn1,"The Erlang ASN1 compiler version 4.0.2","4.0.2"},
      {crypto,"CRYPTO","3.6.3"},
      {compiler,"ERTS  CXC 138 10","6.0.3"},
      {inets,"INETS  CXC 138 49","6.2"},
      {rabbit,"RabbitMQ","3.6.1"},
      {mnesia,"MNESIA  CXC 138 12","4.13.3"},
      {rabbit_common,[],"3.6.1"},
      {xmerl,"XML parser","1.3.10"},
      {os_mon,"CPO  CXC 138 46","2.4"},
      {ranch,"Socket acceptor pool for TCP protocols.","1.2.1"},
      {sasl,"SASL  CXC 138 11","2.7"},
      {stdlib,"ERTS  CXC 138 10","2.8"},
      {kernel,"ERTS  CXC 138 10","4.2"}]},
 {os,{unix,linux}},
 {erlang_version,
    "Erlang/OTP 18 [erts-7.3] [source] [64-bit] [smp:8:8] [async-threads:64] [hipe] [kernel-poll:true]\n"},
 {memory,
    [{total,64111264},
      {connection_readers,0},
      {connection_writers,0},
      {connection_channels,0},
      {connection_other,2808},
      {queue_procs,2808},
      {queue_slave_procs,0},
      {plugins,367288},
      {other_proc,19041296},
      {mnesia,61720},
      {mgmt_db,158696},
      {msg_index,47120},
      {other_ets,1372440},
      {binary,128216},
      {code,27368230},
      {atom,992409},
      {other_system,14568233}]},
 {alarms,[]},
 {listeners,[{clustering,25672,"::"},{amqp,5672,"::"}]},
 {vm_memory_high_watermark,0.4},
 {vm_memory_limit,6556241100},
 {disk_free_limit,50000000},
 {disk_free,37431123968},
 {file_descriptors,
    [{total_limit,65435},
      {total_used,2},
      {sockets_limit,58889},
      {sockets_used,0}]},
 {processes,[{limit,1048576},{used,204}]},
 {run_queue,0},
 {uptime,412681},
 {kernel,{net_ticktime,60}}]

  關閉服務:

[root@iZ25e3bt9a6Z sbin]# ./rabbitmqctl stop

Stopping and halting node rabbit@iZ25e3bt9a6Z ...

在第二天又出現啓動失敗,boot fail,這個應該是erlang安裝問題,重新安裝erlang。

  4. 配置網頁插件

  首先創建目錄,否則可能報錯:

mkdir /etc/rabbitmq


  然後啓用插件:

./rabbitmq-plugins enable rabbitmq_management

  配置linux 端口 15672 網頁管理  5672 AMQP端口
  然後訪問http://localhost:15672即可 

  默認用戶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> ...]


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章