CentOS7 安裝 RabbitMQ

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_20.2.tar.gz。

  然後解壓文件:

 tar -xzvf otp_src_20.2.tar.gz
 cd otp_src_20.2/

  配置安裝路徑編譯代碼:

 ./configure --prefix=/mlr/resources/erlang

  執行編譯結果:

 make && make install

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

 cd /mlr/resources/erlang/bin
 ./erl

Erlang/OTP 20 [erts-9.2] [source] [64-bit] [smp:1:1] [ds:1:1:10] [async-threads:10] [hipe] [kernel-poll:false]

Eshell V9.2 (abort with ^G)
1>

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

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

#set erlang environment
export PATH=$PATH:/mlr/resources/erlang/bin
source  /etc/profile  使得文件生效

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

  2.下載安裝RabbitMq

下載地址: http://www.rabbitmq.com/
我下載的是rabbitmq-server-generic-unix-3.7.2.tar.xz

  解壓文件

 xz -d rabbitmq-server-generic-unix-3.7.2.tar.xz
 tar -xvf rabbitmq-server-generic-unix-3.7.2.tar

  解壓後進入文件夾/mlr/resources發現多了個文件夾rabbitmq-server-3.7.2
  然後在配置rabbitmq環境變量,vi /etc/profile文件,增加下面的環境變量:

#set rabbitmq environment
export PATH=$PATH:/mlr/resources/rabbitmq-server-3.7.2/sbin
source  /etc/profile  使得文件生效

  3.RabbitMQ服務啓動關閉
  以上就已經完成了RabbitMq的安裝,怎麼啓動服務呢?
  啓動服務:

cd sbin/
./rabbitmq-server -detached

查看服務狀態:

 ./rabbitmqctl status

Status of node rabbit@iZwz9ikfzd0p623rtyt3npZ …
[{pid,6226},
{running_applications,
[{rabbit,”RabbitMQ”,”3.7.2”},
{mnesia,”MNESIA CXC 138 12”,”4.15.2”},
{inets,”INETS CXC 138 49”,”6.4.5”},
{rabbit_common,
“Modules shared by rabbitmq-server and rabbitmq-erlang-client”,
“3.7.2”},
{ranch_proxy_protocol,”Ranch Proxy Protocol Transport”,”1.4.4”},
{ranch,”Socket acceptor pool for TCP protocols.”,”1.4.0”},
{ssl,”Erlang/OTP SSL application”,”8.2.3”},
{public_key,”Public key infrastructure”,”1.5.2”},
{asn1,”The Erlang ASN1 compiler version 5.0.4”,”5.0.4”},
{jsx,”a streaming, evented json parsing toolkit”,”2.8.2”},
{os_mon,”CPO CXC 138 46”,”2.4.4”},
{crypto,”CRYPTO”,”4.2”},
{recon,”Diagnostic tools for production use”,”2.3.2”},
{xmerl,”XML parser”,”1.3.16”},
{lager,”Erlang logging framework”,”3.5.1”},
{goldrush,”Erlang event stream processor”,”0.1.9”},
{compiler,”ERTS CXC 138 10”,”7.1.4”},
{syntax_tools,”Syntax tools”,”2.1.4”},
{sasl,”SASL CXC 138 11”,”3.1.1”},
{stdlib,”ERTS CXC 138 10”,”3.4.3”},
{kernel,”ERTS CXC 138 10”,”5.4.1”}]},
{os,{unix,linux}},
{erlang_version,
“Erlang/OTP 20 [erts-9.2] [source] [64-bit] [smp:1:1] [ds:1:1:10] [async-threads:64] [hipe] [kernel-poll:true]\n”},
{memory,
[{connection_readers,0},
{connection_writers,0},
{connection_channels,0},
{connection_other,0},
{queue_procs,0},
{queue_slave_procs,0},
{plugins,5864},
{other_proc,25637392},
{metrics,184432},
{mgmt_db,0},
{mnesia,74152},
{other_ets,1965568},
{binary,136168},
{msg_index,32112},
{code,24920077},
{atom,1041593},
{other_system,9145810},
{allocated_unused,12886784},
{reserved_unallocated,0},
{strategy,rss},
{total,[{erlang,63143168},{rss,73658368},{allocated,76029952}]}]},
{alarms,[]},
{listeners,[{clustering,25672,”::”},{amqp,5672,”::”}]},
{vm_memory_calculation_strategy,rss},
{vm_memory_high_watermark,0.4},
{vm_memory_limit,416322355},
{disk_free_limit,50000000},
{disk_free,35786248192},
{file_descriptors,
[{total_limit,65435},
{total_used,2},
{sockets_limit,58889},
{sockets_used,0}]},
{processes,[{limit,1048576},{used,200}]},
{run_queue,0},
{uptime,84},
{kernel,{net_ticktime,60}}]
  關閉服務:

 ./rabbitmqctl stop

  4. 配置網頁插件
  首先創建目錄,否則可能報錯:

mkdir /etc/rabbitmq

  然後啓用插件:

./rabbitmq-plugins enable rabbitmq_management

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

  默認網頁是不允許訪問的,需要增加一個用戶修改一下權限,進入sbin代碼如下:

添加用戶: ./rabbitmqctl add_user mlr mlr
添加權限: ./rabbitmqctl set_permissions -p "/" mlr ".*" ".*" ".*"
修改用戶角色: ./rabbitmqctl set_user_tags hxb administrator

  然後就可以遠程訪問了,然後可直接配置用戶權限等信息。
  6. rabbitmq常用命令

  add_user

  delete_user

  change_password

  list_users

  add_vhost

  delete_vhost

  list_vhostsset_permissions [-p ]

  clear_permissions [-p ]

  list_permissions [-p ]

  list_user_permissions

  list_queues [-p ] [ …]

  list_exchanges [-p ] [ …]

  list_bindings [-p ]

  list_connections [ …]

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