站長資訊網
最全最豐富的資訊網站

RabbitMQ二進制和RPM安裝部署與常用命令

一 rabbitmq 簡介

RabbitMQ 是當今最主流的消息中間件之一。它是一個開源的AMQP實現,服務器端用Erlang語言編寫,支持多種客戶端,如:Python、Ruby、.NET、Java、JMS、C、PHP、ActionScript、XMPP、STOMP等,支持AJAX。用于在分布式系統中存儲轉發消息,在易用性、擴展性、高可用性等方面表現優異。

在安裝rabbitmq的時候需要注意rabbitmq 和erlang版本的關系,如果兩者關系不一一對應的話,那么會導致出錯的。
rabbitmq 版本和 erlang 的關系

RabbitMQ二進制和RPM安裝部署與常用命令

我們接下來的安裝的版本和環境是:

  • 系統平臺:CentOS 7
  • erlang版本:21.2
  • rabbit-server版本:3.7.12

rabbit-server 默認使用的端口 :
5672(AMQP端口) 和15672(web),還有其他不常用端口未列出,見官網。
如在公網上訪問,需要開放這兩個端口。

二 erlang 安裝

  • 2.1 安裝依賴包
yum -y install make gcc gcc-c++ m4 ncurses-devel openssl-devel unixODBC-devel
  • 2.2 下載erlang依賴包
cd  /tmp && wget http://erlang.org/download/otp_src_21.2.tar.gz
  • 2.3 解壓
tar xzf otp_src_21.2.tar.gz
  • 2.4 創建文件夾
mkdir /usr/local/erlang
  • 2.5 編譯并安裝erlang
cd otp_src_21.2  ./configure --prefix=/usr/local/erlang --without-javac  make && make install
  • 2.6 添加環境變量
vi + /etc/profile  # 添加以下內容  export PATH=$PATH:/usr/local/erlang/bin
  • 2.7 讓環境變量生效
source /etc/profile
  • 2.8 檢驗安裝
erl -version  # 能夠正確輸出下面的內容表示安裝完成  Erlang (SMP,ASYNC_THREADS,HIPE) (BEAM) emulator version 10.2

三 rabbitmq rpm安裝 (二進制安裝和rpm安裝二選一)

安裝rabbitmq前必須先安裝符合要求的erlang

  • 3.1 下載RabbitMQ安裝包。
cd /tmp &&  wget  https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.7.12/rabbitmq-server-3.7.12-1.el7.noarch.rpm
  • 3.2 導入簽名密鑰。
rpm --import https://www.rabbitmq.com/rabbitmq-release-signing-key.asc
  • 3.3 安裝 socat
yum install socat -y
  • 3.3 安裝RabbitMQ Server。
yum install  rabbitmq-server-3.7.12-1.el7.noarch.rpm  

如果在此遇到的錯誤見文章第七點顯示的錯誤收錄

  • 3.4 允許RabbitMQ開機自啟動。
systemctl enable rabbitmq-server
  • 3.5 啟動RabbitMQ。
systemctl start rabbitmq-server
  • 3.6 暫停RabbitMQ。
systemctl stop rabbitmq-server

四 rabbitmq 二進制安裝(rpm 安裝和二進制安裝二選一)

安裝rabbitmq前必須先安裝符合要求的erlang

  • 4.1 下載rabbitmq 二進制安裝
cd /tmp && wget   https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.7.12/rabbitmq-server-generic-unix-3.7.12.tar.xz
  • 4.2 解壓
tar -xf  rabbitmq-server*.tar.xz
  • 4.3 移動到指定路徑
mv  /tmp/rabbitmq_server-3.7.12  /usr/local/rabbitmq_server
  • 4.4 添加環境變量
vi + /etc/profile  # 添加以下內容  export PATH=$PATH:/usr/local/rabbitmq_server/sbin
  • 4.5 環境變量生效
source /etc/profile
  • 4.6 啟動rabbitmq server
rabbitmq-server 
  • 4.7 后臺啟動
rabbitmq-server -detached
  • 4.8 關閉rabbitmq
rabbitmqctl shutdown
  • 4.9 創建配置文件

在 $ RABBITMQ_HOME 的目錄下創建

#rabbitmq 配置文件   touch  ./etc/rabbitmq/rabbitmq.conf  #rabbitmq 環境變量文件  touch ./etc/rabbitmq/rabbitmq-env.conf
  • 4.10 設定 rabbitmq的家目錄路徑
vim ./sbin/rabbitmq-defaults  # 修改 SYS_PREFIX =  SYS_PREFIX =rabbitmq 家目錄路徑。

五 初始化并配置用戶和啟用web界面

  • 5.1 刪除默認用戶

對于生產環境,請刪除默認用戶(guest),默認用戶只能從localhost 連接。

 rabbitmqctl delete_user guest
  • 5.2 創建新用戶并設置為管理員

建議每個應用程序都使用單獨的用戶。

 rabbitmqctl add_user 用戶名 密碼   rabbitmqctl set_user_tags 用戶名 administrator
  • 5.3 設置用戶權限

設置用戶djx 具有 /這個virtual host的所有的資源的配置、寫、讀權限

rabbitmqctl  set_permissions -p / djx  '.*' '.*' '.*'
  • 5.4 啟用web 界面
 rabbitmq-plugins enable rabbitmq_management
  • 5.5 訪問

訪問路徑: http://ip:15672
出現以下界面就意味著搭建成功了

RabbitMQ二進制和RPM安裝部署與常用命令
RabbitMQ二進制和RPM安裝部署與常用命令

六 常用命令

官網文檔鏈接

  • 6.1 查看rabbitmq server 狀態
rabbitmqctl status
  • 6.2 查看已用的組件,內存使用情況,警報
rabbitmq-diagnostics status
  • 6.3 查看有效的節點配置
rabbitmq-diagnostics environment
  • 6.4 對本地節點執行更廣泛的運行狀況檢查
rabbitmq-diagnostics node_health_check
  • 6.5 virtual host操作
每個VirtualHost相當于一個相對獨立的RabbitMQ服務器,每個virtual host相互隔離  #  添加virtual host  rabbitmqctl add_vhost ${hostname}    # 刪除virtual host  rabbitmqctl delete_vhost ${hostname}    # 列出所有的virtual host  rabbitmqctl list_vhosts name tracing  # 設置某個用戶對于某個host 的權限  set_permissions [-p vhost] user conf write read    示例1:  rabbitmqctl set_permissions -p my-vhost janeway “^janeway-.*” “.*” “.*”  表示設置用戶 janeway 對于host名為 my-vhost的以janeway-為開頭的資源具有讀寫權限  示例2:  rabbitmqctl set_permissions -p my-vhost djx “.*” “.*” “.*”  表示設置用戶 djx 對于host名為 my-vhost的所有的資源具有讀寫權限    # 刪除用戶權限  clear_permissions [-p vhost] username  示例:  rabbitmqctl clear_permissions -p my-vhost janeway  刪除用戶 janeway 對host my-vhost 的權限    # 查看virtual host已有的用戶和權限  rabbitmqctl  list_permissions -p ${主機名}  
  • 6.6 用戶操作
# 添加用戶  rabbitmqctl add_user {用戶名} {密碼}    # 設置用戶角色,除了管理員用戶,還有監控者(monitoring),普通管理者(management),策略制定者(policymaker)      management       User can access the management plugin       policymaker       User can access the management plugin and manage policies and parameters for the vhosts they have access to.       monitoring       User can access the management plugin and see all connections and channels as well as node-related information.       administrator       User can do everything monitoring can do, manage users, vhosts and permissions, close other user’s connections, and manage policies and parameters for all vhosts.  示例  rabbitmqctl set_user_tags {用戶名} administrator/monitoring/management    # 查看用戶列表  rabbitmqctl list_users     # 給用戶賦予權限  rabbitmqctl  set_permissions -p {virtual host名稱} 用戶名 配置權限 寫權限 讀權限  示例  rabbitmqctl  set_permissions -p / djx  '.*' '.*' '.*'    # 查看用戶權限   rabbitmqctl  list_user_permissions {用戶名}     # 查看已有的用戶和權限  rabbitmqctl  list_permissions -p '{virtual host名}'    # 刪除用戶   rabbitmqctl delete_user {用戶名}    # 修改用戶的密碼  rabbitmqctl change_password {用戶名} {新密碼} 

七 錯誤解決方法

  • 問題1

如果在 yum install rabbitmq-server-3.7.12-1.el7.noarch.rpm 遇到了erlang依賴錯誤的話,

RabbitMQ二進制和RPM安裝部署與常用命令

實際我們是已經安裝erlang,但是rabbitmq-server 還是檢測不到,我重載了環境變量還是不行。

解決辦法

先忽略依賴問題安裝

rpm -i --nodeps rabbitmq-server-3.7.12-1.el7.noarch.rpm

然后更改rabbitmq的啟動加載的環境配置文件 /usr/lib/rabbitmq/bin/rabbitmq-env。在里面開頭添加

source  /etc/profile

或者嘗試方法:添加一個軟連接

ln -s /usr/local/erlang/bin/erl      /usr/bin/erl

八 rabbitmq 生產環境應該注意的地方

見文章 RabbitMQ 生產環境配置詳解 http://www.hospitaldelafe.com/Linux/2019-03/157354.htm

贊(0)
分享到: 更多 (0)
網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
久久精品中文字幕第23页| 国产乱人伦真实精品视频| 亚洲AV无码国产精品色午友在线| 国产精品无码一区二区在线观一| 亚洲国产日韩在线| 国产在视频线在精品| 国产精品自在线天天看片| 国产精品无码一区二区在线| 国产精品综合AV一区二区国产馆| 久久精品国产亚洲AV忘忧草18| 久久永久免费人妻精品下载| 久久国产精品二区99| 国产精品三级国产电影| 91精品国产福利在线观看| 99精品国产高清一区二区| 久久久91人妻无码精品蜜桃HD| 亚洲午夜精品一级在线播放放| 四虎国产精品成人免费久久| 黑人巨大精品播放| 日韩高清免费观看| 日韩放荡少妇无码视频| 国产日韩一区二区三区在线播放| 日韩影院一级在线| 日韩精品福利片午夜免费观着 | 国产精品内射后入合集| 精品一区二区三区免费| 国产精品亚洲精品日韩已满| 中国精品18videosex性中国| 国产午夜福利精品一区二区三区 | 国产99视频精品免费专区| 久久国产免费观看精品| 国产精品三级国产电影| 久章草在线精品视频免费观看| 亚洲国产精品无码一线岛国| 久久久久久人妻一区精品| 一区二区精品在线| 7m精品福利视频导航| 国产精品电影在线观看| 午夜麻豆国产精品无码| 成人综合婷婷国产精品久久蜜臀 | 久久久国产乱子伦精品|