========================================================================================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 不要本身編譯安裝。否則用戶權限問題會把你搞死的。必定要用統一的版本