========================================================================================html
安装 erlang , rabbitmq, haproxy
========================================================================================
erlang 安装node
wget http://www.rabbitmq.com/releases/erlang/erlang-17.4-1.el6.x86_64.rpm
yum install erlang-17.4-1.el6.x86_64.rpmweb
最后输入 erl ,进入erlang shell界面就表示安装成功:redis
rabbitmq 安装
配置rabbitmq 集群 版本必须一致
wget http://www.rabbitmq.com/releases/rabbitmq-server/v3.5.4/rabbitmq-server-3.5.4-1.noarch.rpm
yum install rabbitmq-server-3.5.4-1.noarch.rpm
最后输入rabbitmqctl 查看是否安装成功shell
haproxy 安装
yum install haproxyvim
=======================================================================================cookie
配置
======================================================================================
haproxy 配置
编辑/etc/haproxy/haproxy.cfg并发
global log 127.0.0.1 local0 log 127.0.0.1 local1 notice maxconn 409600 #并发数 user haproxy group haproxy daemon defaults log global #使用tcp监听模式 mode tcp option tcplog option dontlognull retries 3 option redispatch maxconn 2000 timeout connect 10000 timeout client 50000 timeout server 50000 listen admin_stat #haproxy的web管理端口 8888,自行设置 bind 0.0.0.0:8888 mode http stats refresh 30s #haproxy web管理url,自行设置 stats uri /haproxy_stats stats realm Haproxy\ Statistics #haproxy web管理用户名密码,自行设置 stats auth admin:admin stats hide-version listen rabbitmq bind 0.0.0.0:5670 ##listen rabbitmq 10.10.1.53:5670 #监听5670端口,并转发给两个个节点的5672端口,采用轮询策略 mode tcp balance roundrobin server rabbitmq-1 10.10.1.1:5672 check inter 2000 rise 2 fall 3 server rabbitmq-2 10.10.1.2:5672 check inter 2000 rise 2 fall 3
rabbitmq 配置tcp
vim /var/lib/rabbitmq/.erlang.cookieide
Rabbitmq的配置文件有三个,位于/etc/rabbitmq/
[1]enabled_plugins:插件配置, 通常状况下能够用默认,不须要修改
[2]rabbitmq.conf: 设置运行参数,端口,
加入节点名
可经过rabbitmqctl cluster_status 查看节点名称
{cluster_nodes, {['rabbit@host1','rabbit@host2'], disc}}
[3]rabbitmq-env.conf:rabbitmq的环境参数配置,默认没有,能够本身建立, 通常状况下能够用默认,不须要修改
具体配置参看
http://www.rabbitmq.com/configure.html
=================================================================================================
service rabbitmq-server start
rabbitmq-plugins enable rabbitmq_management
rabbitmqctl add_user name pwd //添加新用户
rabbitmqctl set_user_tags name administrator //设置权限
rabbitmqctl set_permissions -p / name "." "." ".*"
可经过rabbitmqctl cluster_status 查看节点相连状况
haproxy启动
端口设置
haproxy 的端口是对外的,要放开
4369 erlang端口,内网放开
rabbitmq 的端口 5672 (默认) 内网放开
rabbitmq 的管理员端口 15672 (默认) 管理员放开
注意事项,haproxy 有客户端超时设置,因此写 rabbit应用的时候必须有心跳包,否则确定会断掉。
rabbitmq和erlang尽可能安装rpm 不要本身编译安装。否则用户权限问题会把你搞死的。必定要用统一的版本