1.rabbitmq 集群版安裝及使用nginx進行四層負載均衡設置

1.安裝erlang

需要注意erlang的版本是否滿足rabbitmq的需求

這里用到的版本是:Erlang 19.0.4? ?RabbitMQ 3.6.15

?

wget http://www.rabbitmq.com/releases/erlang/erlang-19.0.4-1.el7.centos.x86_64.rpm

rpm -ivh erlang-19.0.4-1.el7.centos.x86_64.rpm
yum -y install erlang

?1.1測試erlang是否安裝

erl -version

?

2.安裝rabbitmq

wget https://www.rabbitmq.com/releases/rabbitmq-server/current/rabbitmq-server-3.6.15-1.el6.noarch.rpm

yum install rabbitmq-server-3.6.15-1.el6.noarch.rpm

2.1其他相關命令

啟動:systemctl start rabbitmq-server
開機自動啟動:systemctl enable rabbitmq-server
查看 rabbitmq-server 狀態:rabbitmqctl status

2.2配置網頁插件

首先創建目錄,否則可能報錯:
mkdir /etc/rabbitmq然后啟用插件:
rabbitmq-plugins enable rabbitmq_management

2.3配置防火墻

配置linux 端口 15672 網頁管理 5672 AMQP端口:
firewall-cmd --permanent --add-port=15672/tcp
firewall-cmd --permanent --add-port=5672/tcp
systemctl restart firewalld.service

現在你在瀏覽器中輸入服務器IP:15672 就可以看到RabbitMQ的WEB管理頁面了

2.4配置訪問賬號密碼和權限

默認網頁是不允許訪問的,需要增加一個用戶修改一下權限,代碼如下:
rabbitmqctl add_user rabbit 123456  //添加用戶,后面兩個參數分別是用戶名和密碼
rabbitmqctl set_permissions -p / rabbit ".*" ".*" ".*"  //添加權限
rabbitmqctl set_user_tags rabbit administrator  //修改用戶角色

然后就可以遠程訪問了,然后可直接配置用戶權限等信息。 
登錄:http://ip:15672 登錄之后在admin里面把guest刪除。

3.開始配置集群

3.1配置節點的host

vim /etc/hosts192.168.161.200 slave1
192.168.161.201 slave2
192.168.161.202 slave3

集群中的所有節點均需要配置

?

3.1配置erlang的cookie,cookie要一致

官方在介紹集群的文檔中提到過.erlang.cookie一般會存在這兩個地址:第一個是$home/.erlang.cookie;第二個地方就是/var/lib/rabbitmq/.erlang.cookie。
如果我們使用解壓縮方式安裝部署的rabbitmq,那么這個文件會在${home}目錄下,也就是$home/.erlang.cookie。
如果我們使用rpm等安裝包方式進行安裝的,那么這個文件會在/var/lib/rabbitmq目錄下。

如果修改文件,rabbitmq不能啟動,這個時候用這個命令修改一下cookie: chmod 400 .erlang.cookie

?

3.2查看集群信息,確定集群的名稱

rabbitmqctl cluster_statusCluster status of node rabbit@slave2
[{nodes,[{disc,[rabbit@slave1,rabbit@slave2,rabbit@slave3]}]},{running_nodes,[rabbit@slave3,rabbit@slave1,rabbit@slave2]},{cluster_name,<<"rabbit@slave1">>},{partitions,[]},{alarms,[{rabbit@slave3,[]},{rabbit@slave1,[]},{rabbit@slave2,[]}]}]查看cluster_name的值

3.3加入集群

1.停止當前要加入到集群的節點的rabiitmq服務

rabbitmqctl stop_app

2.加入集群

示例命令:
rabbitmqctl join_cluster rabbit@slave1

3.啟動rabbitmq服務

 rabbitmqctl start_app

4.可以用命令?rabbitmqctl cluster_status查看節點是否正確加入,也可以使用webUI查看

?

?

4? 開始配置負載均衡

4.1 nginx的安裝和啟用stream模塊的方法

請參看此文章

?

?

?

4.2關鍵配置

user  nginx;
worker_processes  1;error_log  /usr/local/nginx/logs/error.log warn;
pid        /var/run/nginx.pid;events {worker_connections  1024;
}http {include       /usr/local/nginx/conf/mime.types;default_type  application/octet-stream;log_format  main  '$remote_addr - $remote_user [$time_local] "$request" ''$status $body_bytes_sent "$http_referer" ''"$http_user_agent" "$http_x_forwarded_for"';access_log  /usr/local/nginx/logs/access.log  main;sendfile        on;#tcp_nopush     on;keepalive_timeout  65;#gzip  on;upstream honeysuckle {ip_hash;server 192.168.161.202:31531;server 192.168.161.201:31531;server 192.168.161.200:31531;}server{ listen 80; location / { proxy_pass  http://honeysuckle;
      } }upstream rabbitmqweb {ip_hash;server 192.168.161.202:15672;server 192.168.161.201:15672;server 192.168.161.200:15672;}server{ listen 15672; location / { proxy_pass  http://rabbitmqweb;
      } }include /etc/nginx/conf.d/*.conf;
}stream{upstream rabbitmq{server 192.168.161.200:5672 weight=1;server 192.168.161.201:5672 weight=1;server 192.168.161.202:5672 weight=1;}server{listen 5672;proxy_pass rabbitmq;}
}

?

4.3 測試是否生效

最直觀的辦法是使用rabbitMQ web查看連接是否可以命中(根據nginx配置的負載均衡策略)配置的節點

轉載于:https://www.cnblogs.com/gytangyao/p/10630934.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/387109.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/387109.shtml
英文地址,請注明出處:http://en.pswp.cn/news/387109.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

使用WEUI uploader上傳圖片

使用WEUI uploader上傳圖片&#xff0c;博主費了很大的勁總算找到完整的了&#xff0c;并且帶后臺接收代碼&#xff0c;有需要的朋友拿去吧&#xff0c;親測可用&#xff01; 一、html代碼<link rel"stylesheet" href"https://res.wx.qq.com/open/libs/weui/…

08 面向對象編程

1 介紹 面向對象編程是一種程序設計范式 把程序看做不同對象的相互調用&#xff0c;對現實世界建立對象模型。 面向對象編程的基本思想&#xff1a; 類和實例&#xff1a; 類用于定義抽象類型 實例根據類的定義被創建出來 2 定義類并創建實例 類通過class關鍵字定義&…

H5+jqweui實現手機端圖片壓縮上傳 Base64

H5jqweui實現手機端圖片壓縮上傳主要功能&#xff0c;使用H5的formData上傳base64格式的圖片&#xff0c;canvas壓縮圖片&#xff0c;前端樣式使用weui&#xff0c;為方便起見&#xff0c;使用了jquery封裝過的weui&#xff0c;jqweui。話不多少&#xff0c;開始上代碼。前端代…

09 類的繼承

繼承一個類 class Person(object): def __init__(self, name, gender): self.name name self.gender gender class Student(Person): def __init__(self, name, gender, score): super(Student, self).__init__(name, gender) self.score score 判斷類型 isinstance()可以…

vue 中v-if 與v-show 的區別

相同點或者說功能&#xff0c;都可以動態操作dom元素的顯示隱藏 不同點&#xff1a; 1.手段&#xff1a;v-if是動態的向DOM樹內添加或者刪除DOM元素&#xff1b;v-show是通過設置DOM元素的display樣式屬性控制顯隱&#xff1b;2.編譯過程&#xff1a;v-if切換有一個局部編譯/卸…

vue打包后放在 nginx部署時候的配置文件

部署了三套程序,默認的&#xff0c;admin和design#user nobody; worker_processes 1;#error_log logs/error.log; #error_log logs/error.log notice; #error_log logs/error.log info;#pid logs/nginx.pid;events {worker_connections 1024; }http {include …

淘淘商城之技術選型、開發工具和環境、人員配置

一、技術選型 1&#xff09;Spring、SpringMVC、Mybatis 2&#xff09;JSP、JSTL、jQuery、jQuery plugin、EasyUI、KindEditor&#xff08;富文本編輯器&#xff09;、CSSDIV 3&#xff09;Redis&#xff08;緩存服務器&#xff09; 4&#xff09;Solr&#xff08;搜索&#x…

啟動代碼格式:nginx安裝目錄地址 -c nginx配置文件地址

啟動啟動代碼格式&#xff1a;nginx安裝目錄地址 -c nginx配置文件地址 例如&#xff1a;[rootLinuxServer sbin]# /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf停止nginx的停止有三種方式&#xff1a; 從容停止1、查看進程號[rootLinuxServer ~]# ps -ef…

Lecture 3 Divide and Conquer

1.Divide the problem(instance) into one or more sub-problem; 2.Conquer each sub-problem recursively; 3.Combine solutions.

Maven報錯找不到jre

富人之所以越來越富&#xff0c;窮人之所以越來越窮&#xff0c;中產階級之所以總是在債務泥潭中掙扎&#xff0c;其主要原因之一在于他們對金錢的觀念不是來自學校&#xff0c;而是來自家庭。 ---《窮爸爸富爸爸》 一、報錯提示 常規配置maven環境變量&#xff0c;報錯&#x…

vue按照url地址訪問出錯404

問題描述&#xff1a; 最近在開發cms的時候使用Vue.js框架&#xff0c;利用vue-route結合webpack編寫了一個單頁路由項目&#xff0c;自己在服務器端配置nginx。部署完成后&#xff0c;訪問沒問題&#xff0c;從頁面中點擊跳轉也沒問題&#xff0c;但是只要點擊刷新或通過瀏覽器…

Lecture 4 Quick Sort and Randomized Quick Sort

Quick Sort --Divide and Conquer --Sorts “in place” --Very practical with tuning Divide and Conquer: 1.Divide: Partition array into 2 sub-arrays around pivot x such that elements in lower sub-array < x < elements in upper sub-array; 2.Conquer: …

HDU 3966 樹鏈剖分后線段樹維護

題意: 一棵樹, 操作1.$path(a,b)$之間的點權$k$ 操作2.單點查詢 題解: 樹鏈剖分即可,注意代碼細節,雙向映射 主要是記錄一下板子 #include <string.h> #include <stdio.h> #include <algorithm> #define endl \n #define ll long long #define ull unsigned …

VUE config/index.js文件配置

&#xfeff;&#xfeff; 當我們需要和后臺分離部署的時候&#xff0c;必須配置config/index.js: 用vue-cli 自動構建的目錄里面 &#xff08;環境變量及其基本變量的配置&#xff09;123456789101112131415var path require(path)module.exports {build: {index: path.res…

數據規則列表加導入導出

1.進入bos&#xff0c;打開數據規則&#xff0c;進入列表菜單 2.點擊事件-新增操作 3.點擊新增 4.點擊操作類型&#xff0c;輸入%引入 5.點擊確定&#xff0c;保存后生效&#xff0c;導出 、引入模板設置同理轉載于:https://www.cnblogs.com/RogerLu/p/10643521.html

Lecture 6 Order Statistics

Given n elements in array, find kth smallest element (element of rank k) Worst-case linear time order statistics --by Blum, Floyd, Pratt, Rivest, Tarjan --idea: generate good pivot recursively. Not so hot, because the constant is pretty big.

C++ qsort() 函數調用時實參與形參不兼容的問題解決

《劍指OFFER》刷題筆記 —— 撲克牌順子 LL今天心情特別好,因為他去買了一副撲克牌,發現里面居然有2個大王,2個小王(一副牌原本是54張^_^)...他隨機從中抽出了5張牌,想測測自己的手氣,看看能不能抽到順子,如果抽到的話,他決定去買體育彩票,嘿嘿&#xff01;&#xff01;“紅心A…

linux jenkins部署之路之,ftp部署怎么匿名還好用咋解決思密達

怎么安裝就不說了&#xff0c;網上一堆 這噶搭是配置 目錄是/etc/vsftpd/vsftpd.conf # Example config file /etc/vsftpd/vsftpd.conf# # The default compiled in settings are fairly paranoid. This sample file # loosens things up a bit, to make the ftp daemon more u…

powerCat進行常規tcp端口轉發

實戰中&#xff0c;我們也會遇到需要我們進行端口轉發的情況&#xff0c;比如已經拿下的目標機1是在dmz區&#xff0c;而目標1所在內網的其他目標只能通過目標1去訪問&#xff0c;這時候我們就需要端口轉發或者代理來進行后滲透。這次就要介紹一個加強版的nc&#xff0c;基于po…