RabbitMQ服務安裝配置

来源:http://www.cnblogs.com/silent2012/archive/2016/03/28/5329591.html
-Advertisement-
Play Games

RabbitMQ是流行的開源消息隊列系統,是AMQP(Advanced Message Queuing Protocol高級消息隊列協議)的標準實現,用erlang語言開發。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_18.3.tar.gz。

  然後解壓文件:

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

  配置安裝路徑編譯代碼:

[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]# weget http://www.rabbitmq.com/releases/rabbitmq-server/v3.6.1/rabbitmq-server-generic-unix-3.6.1.tar.xz

  解壓文件

[root@iZ25e3bt9a6Z rabbitmq]# xz -d rabbitmq-server-generic-unix-3.6.1.tar.xz
[root@iZ25e3bt9a6Z rabbitmq]# tar -xvf rabbitmq-server-generic-unix-3.6.1.tar  -C /opt

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

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

#set rabbitmq environment
export PATH=$PATH:/opt/rabbitmq/sbin

  source  /etc/profile使得文件生效

  3.RabbitMQ服務啟動關閉

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

  啟動服務:

[root@iZ25e3bt9a6Z rabbitmq]# cd sbin/
[root@iZ25e3bt9a6Z sbin]# ./rabbitmq-server -detached

  查看服務狀態:

[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 ...

  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> ...]

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 有時候需求需要隨機從資料庫查詢若幹條記錄集,網上搜了一下,幾篇博文都是些重覆的.....不知道他們誰抄的誰的,這裡除了介紹提供一種筆者自己想到的方法,本質都是利用mysql 的rand() 第一種方法: SELECT * FROM reportcard_patient_temp ORDER BY R ...
  • 中科院Oracle 10G 資料庫系統培訓視頻教程(828MB )第一章、安裝及體繫結構概述 Oracle資料庫基礎知識第二章、SQL*PLUS 基礎、實例的創建啟動與關閉第三章、SQL語言基礎第四章、PL/SQL基礎第五章、PL/SQL高級應用第六章、視圖、同義詞、序列第七章、觸發器第八章、安全管 ...
  • 1.做訂閱發佈的2台Sql伺服器最好要版本一致,不能出現類似如下情況: Sql2008 R2[發佈] - Sql2008[訂閱]; Sql2008 R2[發佈] - Sql2012[訂閱] 2.訂閱發佈理論上必須 訂閱發佈資料庫 都要在 同一個 區域網,但也可以穿透區域網 嘗試實現以下, 資料: h ...
  • 主要講下redis的安裝配置,以及以服務的方式啟動redis 1.下載最新版本的redis-3.0.7 到http://redis.io/download中下載最新版的redis-3.0.7 下載後,將redis-3.0.7.tar.gz複製到虛擬機中目錄/home/lewis/dev_soft中 ...
  • sql_查詢select /****** Script for SelectTopNRows command from SSMS ******/ SELECT TOP 1000 [r_gonghao] ,[r_mingzi] ,[r_bumen] ,[r_xingbie] FROM [moge].[... ...
  • 一、基礎 源碼地址:http://www.jinhusns.com/Products/Download/?type=xcj 1.應用 1)、應用 tn_Applications 欄位名稱 欄位類型 可空 特殊 預設值 欄位描述 ApplicationId int no 主鍵 應用程式Id Appli ...
  • 創建一個表記員工個人信息: SQL> Table created 1 row inserted 1 row inserted 1 row inserted 1 row inserted 1 row inserted 1 row inserted 1 row inserted 1 row insert ...
  • 在保密你的伺服器和數據,防備當前複雜的攻擊,SQL Server有你需要的一切。但在你能有效使用這些安全功能前,你需要理解你面對的威脅和一些基本的安全概念。這篇文章提供了基礎,因此你可以對SQL Server里的安全功能充分利用,不用在面對特定威脅,不能保護你數據的功能上浪費時間。 SQL Serv ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...