参考
https://blog.csdn.net/zilong_zilong/article/details/84831543
https://blog.csdn.net/zhang_hongli_li/article/details/81947687
配置erlang环境(所有机器)
yum install gcc glibc-devel make ncurses-devel openssl-devel autoconf
wget http://www.erlang.org/download/otp_src_20.3.tar.gz
tar xf otp_src_20.3.tar.gz
cd otp_src_20.3
./configure --prefix=/opt/erlang --enable-hipe --enable-threads --enable-smp-support --enable-kernel-poll --without-javac
make
make install
或
wget https://github.com/erlang/otp/archive/refs/tags/OTP-20.3.tar.gz
tar xf otp-OTP-20.3.tar.gz
cd otp-OTP-20.3/
./otp_build autoconf
./configure --prefix=/opt/erlang --enable-hipe --enable-threads --enable-smp-support --enable-kernel-poll --without-javac
make
make install
https://blog.csdn.net/zilong_zilong/article/details/84831543
安装rabbitmq(所有机器)
wget https://github.com/rabbitmq/rabbitmq-server/releases/download/rabbitmq_v3_6_1/rabbitmq-server-generic-unix-3.6.1.tar.xz
tar xf rabbitmq-server-generic-unix-3.6.1.tar -C /usr/local
cd /usr/local/
mv rabbitmq_server-3.6.1/ rabbitmq
vim /etc/profile
export PATH=$PATH:/opt/erlang/bin:/usr/local/rabbitmq/sbin
vim /etc/hosts
192.168.41.30 rabbitmq_01
192.168.41.31 rabbitmq_02
192.168.41.32 rabbitmq_03
yum安装rabbitmq
yum install erlang
yum install rabbitmq-server
systemctl start rabbitmq-server.service
rabbitmq_01启动服务
rabbitmq-server -detached
rabbitmqctl status
ss -lntup|grep -E "5672|25672|15672"
#停止rabbitmq
#rabbitmqctl stop
将rabbitmq_01中的.erlang.cookie同步到rabbitmq_02、rabbitmq_03
/root/.erlang.cookie
# yum安装的rabbitmq .erlang.cookie在这里
/var/lib/rabbitmq/.erlang.cookie
启动rabbitmq_02、rabbitmq_03
rabbitmq-server -detached
停rabbitmq_02、rabbitmq_03应用
rabbitmqctl stop_app
将rabbitmq_02、rabbitmq_03加到rabbitmq_01中
在rabbitmq_02、rabbitmq_03上执行
rabbitmqctl join_cluster rabbit@rabbitmq_01
启动rabbitmq_02、rabbitmq_03应用
rabbitmqctl start_app
查看集群状态
rabbitmq_01查看
rabbitmqctl cluster_status
建立一个管理员账户,方便远程管理
rabbitmqctl add_user admin 1
设置用户为administrator角色
rabbitmqctl set_user_tags admin administrator
赋予权限
rabbitmqctl set_permissions -p / admin ".*" ".*" ".*"
查看
rabbitmqctl list_users
开启web管理扩展
rabbitmq-plugins enable rabbitmq_management
web访问
http://192.168.41.30:15672
admin
1
rabbitmq重置
rabbitmqctl stop_app
rabbitmqctl reset
rabbitmqctl start_app
nginx代理
stream {
upstream rabbitmq {
server 192.168.51.88:5672 max_fails=3 fail_timeout=30s;
server 192.168.51.89:5672 max_fails=3 fail_timeout=30s;
}
server {
listen 5672;
proxy_connect_timeout 2s;
proxy_timeout 900s;
proxy_pass rabbitmq;
}
}
haproxy代理
yum install -y haproxy
vim /etc/haproxy/haproxy.cfg
global
log 127.0.0.1 local2
chroot /var/lib/haproxy
pidfile /var/run/haproxy.pid
maxconn 4000
user haproxy
group haproxy
daemon
# turn on stats unix socket
stats socket /var/lib/haproxy/stats
defaults
mode http
log global
option httplog
option dontlognull
option http-server-close
option forwardfor except 127.0.0.0/8
option redispatch
retries 3
timeout http-request 10s
timeout queue 1m
timeout connect 10s
timeout client 1m
timeout server 1m
timeout http-keep-alive 10s
timeout check 10s
maxconn 3000
listen rabbitmq_cluster
bind 0.0.0.0:5670
mode tcp
balance roundrobin
server rabbitmq_01 192.168.41.30:5672 check inter 5000 rise 2 fall 2
server rabbitmq_02 192.168.41.31:5672 check inter 5000 rise 2 fall 2
server rabbitmq_03 192.168.41.32:5672 check inter 5000 rise 2 fall 2
listen statics 0.0.0.0:8888
mode http
log 127.0.0.1 local0 debug
transparent
stats refresh 60s
stats uri / haproxy-stats
stats realm Haproxy \ statistic
stats auth admin:admin
启动
systemctl start haproxy
web访问
http://10.10.109.247:8888/
admin
admin
附:haproxy配置说明
参考
https://www.cnblogs.com/f-ck-need-u/p/8502593.html
global
daemon
maxconn 256
defaults
mode http
timeout connect 5000ms
timeout client 50000ms
timeout server 50000ms
frontend http-in
bind *:80
default_backend web_servers
backend web_servers
server server1 127.0.0.1:8000 maxconn 32
等价配置
global
daemon
maxconn 256
defaults
mode http
timeout connect 5000ms
timeout client 50000ms
timeout server 50000ms
listen http-in
bind *:80
server server1 127.0.0.1:8000 maxconn 32