目錄html
[TOC]java
系統環境:CentOS Linux release 7.2.1511 (Core)node
系統內核:3.10.0-327.el7.x86_64linux
軟件:haproxy-1.5.8.tar.gzgit
安裝方式:源碼編譯安裝github
安裝位置:/usr/local/haproxyredis
官方文檔: http://cbonte.github.io/haproxy-dconv/1.5/configuration.htmlvim
$ sudo useradd -M -s /sbin/nologin www
$ sudo wget http://www.haproxy.org/download/1.5/src/haproxy-1.5.8.tar.gz $ sudo tar zxf haproxy-1.5.8.tar.gz -C /usr/local/ $ sudo cd /usr/local/haproxy-1.5.8/ $ sudo make TARGET=linux2628 ARCH=X86_64 PREFIX=/usr/local/haproxy $ sudo make install PREFIX=/usr/local/haproxy
執行過程:瀏覽器
install -d /usr/local/haproxy/sbin install haproxy /usr/local/haproxy/sbin install haproxy-systemd-wrapper /usr/local/haproxy/sbin install -d /usr/local/haproxy/share/man/man1 install -m 644 doc/haproxy.1 /usr/local/haproxy/share/man/man1 install -d /usr/local/haproxy/doc/haproxy for x in configuration architecture haproxy-en haproxy-fr; do \ install -m 644 doc/$x.txt /usr/local/haproxy/doc/haproxy ; \ done And on a recent Linux >= 2.6.28 with SSL and ZLIB support : $ make TARGET=linux2628 USE_PCRE=1 USE_OPENSSL=1 USE_ZLIB=1
$ sudo mkdir -pv /usr/local/haproxy/conf $ sudo cp /usr/local/haproxy-1.5.8/examples/haproxy.cfg /usr/local/haproxy/conf/ $ sudo cp /usr/local/haproxy-1.5.8/examples/haproxy.init /etc/init.d/haproxy $ sudo sed -i 's#etc/$BASENAME#usr/local/haproxy/conf#g' /etc/init.d/haproxy $ sudo chmod +x /etc/init.d/haproxy $ sudo ln -sv /usr/local/haproxy/sbin/haproxy /usr/sbin/
vim /usr/local/haproxy/conf/haproxy.cfg global log 127.0.0.1 local0 maxconn 65535 ##最大鏈接數 user www group www daemon nbproc 1 pidfile /var/run/haproxy.pid defaults mode http log global option httpclose 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 65535 listen rabbitmq_cluster 0.0.0.0:56720 mode tcp balance roundrobin #option httpclose option tcplog option clitcpka server rqslave1 tst-service-test1:5672 check inter 2000 rise 2 fall 3 server rqslave2 tst-service-test2:5672 check inter 2000 rise 2 fall 3 ##服務器定義(check指健康情況檢查,inter 2000指檢測頻率;rise 2指從離線狀態轉換至正常狀態須要成功檢查的次數;fall 3指失敗3次即認爲服務器不可用) frontend mq.test.dev mode http option httplog option http-keep-alive bind 0.0.0.0:80 default_backend mq-backend backend mq-backend server node1 192.168.199.182:15672 check inter 2000 rise 2 fall 3 server node2 192.168.199.183:15672 check inter 2000 rise 2 fall 3 server node3 192.168.199.200:15672 check inter 2000 rise 2 fall 3 listen admin_stats ##監控頁面設置 mode http ##http的7層模式 bind 0.0.0.0:1080 #監聽端口 option httplog #採用http日誌格式 stats refresh 30s #統計頁面自動刷新時間 stats uri /stats #統計頁面url stats realm Haproxy Manager #統計頁面密碼框上提示文本 stats auth admin:admin #統計頁面用戶名和密碼設置 #stats hide-version #隱藏統計頁面上HAProxy的版本信息
$ sudo /etc/init.d/haproxy start 或者 $ sudo systemctl start haproxy.service 或者 $ sudo /usr/local/haproxy/sbin/haproxy -f /usr/local/haproxy/conf/haproxy.cfg
登陸狀態頁面:服務器
在瀏覽器輸入 http:IP:1080/stats
haproxy的日誌是結合系統的rsyslog程序來生成的。
修改文件:/etc/rsyslog.conf
增長一行:
$IncludeConfig /etc/rsyslog.d/*.conf
取消下面兩行的註釋,開啓514端口
$ModLoad imudp $UDPServerRun 514
配置文件爲:/etc/rsyslog.d/haproxy.conf
# vim /etc/rsyslog.d/haproxy.conf local0.* /var/log/haproxy/haproxy.log
配置文件爲:etc/sysconfig/rsyslog
# vim etc/sysconfig/rsyslog 把 SYSLOGD_OPTIONS="" 修改成: SYSLOGD_OPTIONS="-c 2 -m 0 -r -x"
解釋說明:
-r:打開接受外來日誌消息的功能,其監控514 UDP端口; -x:關閉自動解析對方日誌服務器的FQDN信息,這能避免DNS不完整所帶來的麻煩; -m:修改syslog的內部mark消息寫入間隔時間(0爲關閉),例如240爲每隔240分鐘寫入一次"--MARK--"信息; -h:默認狀況下,syslog不會發送從遠端接受過來的消息到其餘主機,而使用該選項,則把該開關打開
最簡單的就是這個了,
固然也能夠配置在global,frontend,listen 分別記錄各自的日誌
日誌級別分爲:emerg 、alert 、crit 、err、 warning 、notice 、info 、debug
global log 127.0.0.1:514 local0 err
# systemctl restart rsyslog.service # systemctl restart haproxy.service
查看haproxy關於日誌的配置
global log 127.0.0.1:514 local0 notice listen rabbitmq_cluster mode tcp option tcplog log 127.0.0.1:514 local1 info frontend mq.xxx.dev mode http option httplog log 127.0.0.1:514 local2 info
查看/etc/rsyslog.d/haproxy.conf
$ sudo cat /etc/rsyslog.d/haproxy.conf #Haproxy local0.* /var/log/haproxy/haproxy.log local1.* /var/log/haproxy/haproxy.mq_cluster.log local2.* /var/log/haproxy/haproxy.mq_admin.log #end /etc/rsyslog.conf
這樣配置就會生成3個日誌文
件haproxy.log
,haproxy.mq_cluster.log
,haproxy.mq_admin.log
前提是有日誌生成才行。
localhost haproxy[14616]: /etc/rc.d/init.d/haproxy: 第 26 行:[: =: 期待一元表達式
解決方法:
方法一:
把原句子修改成:
[[ ${NETWORKING} = "no" ]] && exit 0
方法二:
把原句子修改成:
[ "${NETWORKING}"x = "no"x ] && exit 0
參考:
http://blog.csdn.net/goodlixueyong/article/details/6564591
src/ssl_sock.c:41:25: fatal error: openssl/ssl.h: No such file or directory
解決方法:
$ sudo yum install openssl-devel
http://www.haproxy.org/
http://www.haproxy.org/download/1.8/doc/configuration.txt
http://cbonte.github.io/haproxy-dconv/1.8/configuration.html
下載地址
http://www.haproxy.org/download/
轉載請註明出處,運維特工 www.unixfbi.com