haproxy的安装-创新互联

1.基础安装

成都创新互联公司专注于网站建设|企业网站维护|优化|托管以及网络推广,积累了大量的网站设计与制作经验,为许多企业提供了网站定制设计服务,案例作品覆盖汽车玻璃修复等行业。能根据企业所处的行业与销售的产品,结合品牌形象的塑造,量身开发品质网站。yum install pcre pcre-devel openssl  openssl-devel tar xf  haproxy-1.7.1.tar.gz cd haproxy-1.7.1 make TARGET=linux2628 USE_PCRE=1 USE_OPENSSL=1 USE_ZLIB=1  PREFIX=/usr/local/haproxy  make install PREFIX=/usr/local/haproxy cd examples/ cp  haproxy.init   /etc/init.d/haproxy  chmod +x  /etc/init.d/haproxy

2.本机IP:192.168.56.15

[root@bogon examples]# cat /etc/haproxy/haproxy.cfg  global maxconn 100000 chroot /usr/local/haproxy uid 99 gid 99 daemon nbproc 1 pidfile /usr/local/haproxy/logs/haproxy.pid log 127.0.0.1 local0 info defaults option http-keep-alive maxconn 100000 mode http timeout connect 300000ms timeout client  300000ms timeout server  300000ms listen stats  mode http  bind 0.0.0.0:9999  stats enable  log global  stats uri     /haproxy-status  stats auth    haadmin:123456 listen  web_port    bind 0.0.0.0:80  mode tcp  log global [root@bogon examples]#  [root@bogon examples]# /etc/init.d/haproxy  restart  Restarting haproxy (via systemctl):                        [  OK  ] [root@bogon examples]#

http://192.168.56.15:9999/haproxy-status

haproxy 的安装

3.对后端代理

haproxy 的安装

haproxy 的安装

[root@bogon examples]# cat /etc/haproxy/haproxy.cfg  global maxconn 100000 chroot /usr/local/haproxy uid 99 gid 99 daemon nbproc 1 pidfile /usr/local/haproxy/logs/haproxy.pid log 127.0.0.1 local0 info defaults option http-keep-alive maxconn 100000 mode http timeout connect 300000ms timeout client  300000ms timeout server  300000ms listen stats  mode http  bind 0.0.0.0:9999  stats enable  log global  stats uri     /haproxy-status  stats auth    haadmin:123456 listen  web_port    bind 0.0.0.0:80  mode tcp  #tcp的方式  log global  server web1  192.168.56.12:80  check inter 2000 fall 15 rise 10  server web2  192.168.56.16:80    check inter 2000 fall 15 rise 10 [root@bogon examples]#   /etc/init.d/haproxy  restart   #inter是监控检查时间间隔,即每间隔2秒进行一次检查,  rise是连续检查10次失败后将服务器从负载删除,  fall是连续15次监控检查成功后重新添加至负载,一般fall大于rise几次,

haproxy 的安装

[root@bogon html]# curl 192.168.56.15 192.168.56.12 web1 [root@bogon html]# curl 192.168.56.15 192.168.56.16 web2 [root@bogon html]# curl 192.168.56.15 192.168.56.12 web1 [root@bogon html]# curl 192.168.56.15 192.168.56.16 web2 [root@bogon html]# curl 192.168.56.15 192.168.56.12 web1 [root@bogon html]# curl 192.168.56.15 192.168.56.16 web2 [root@bogon html]# curl 192.168.56.15 192.168.56.12 web1 [root@bogon html]# curl 192.168.56.15 192.168.56.16 web2 [root@bogon html]# curl 192.168.56.15 192.168.56.12 web1 [root@bogon html]# curl 192.168.56.15 192.168.56.16 web2 [root@bogon html]#

查看负载状况

haproxy 的安装

################################################

haproxy调度算法

HAProxy的算法有如下8种: roundrobin,表示简单的轮询, static-rr,表示根据权重,建议关注; leastconn,表示最少连接者先处理,建议关注; source,表示根据请求源IP,建议关注; uri,表示根据请求的URI; url_param,表示根据请求的URl参数'balanceurl_param' requires an URL parameter name hdr(name),表示根据HTTP请求头来锁定每一次HTTP请求; rdp-cookie(name),表示根据据cookie(name)来锁定并哈希每一次TCP请求。

haproxy的摘除节点的 yum安装的

global maxconn 100000 chroot /var/lib/haproxy user haproxy group haproxy daemon nbproc 1  pidfile /usr/local/haproxy/logs/haproxy.pid  stats socket /var/lib/haproxy.sock mode 600 level admin log 127.0.0.1 local10 info defaults option http-keep-alive maxconn 100000 mode http timeout connect 5000ms timeout client  50000ms timeout server 50000ms listen stats mode http bind 0.0.0.0:8888 stats enable stats uri     /haproxy-status  stats auth    haproxy:saltstack frontend frontend_www_example_com bind 192.168.56.21:80 mode http option httplog log global     default_backend backend_www_example_com backend backend_www_example_com option forwardfor header X-REAL-IP option httpchk HEAD / HTTP/1.0 balance   roundrobin  server web-node1  192.168.56.11:8080 check inter 2000 rise 30 fall 15 server web-node2  192.168.56.12:8080 check inter 2000 rise 30 fall 15 [root@web-node1 ~]#

haproxy 的安装

这样就能吧haproxy的节点删除或者增加

echo "disable server backend_www_example_com/web-node1" | socat /var/lib/haproxy.sock stdio echo "enable server backend_www_example_com/web-node1" | socat /var/lib/haproxy.sock stdio

haproxy 的安装

haproxy增加日志的功能

mkdir /var/log/haproxy chmod a+w /var/log/haproxy /etc/rsyslog.conf 打开选项: $ModLoad imudp $UDPServerRun 514 # Save haproxy log local0.*                       /var/log/haproxy/haproxy.log vim  /etc/sysconfig/rsyslog [root@web-node1 nginx]# cat /etc/sysconfig/rsyslog  # Options for rsyslogd # Syslogd options are deprecated since rsyslog v3. # If you want to use them, switch to compatibility mode 2 by "-c 2"   See rsyslogd(8) for more details SYSLOGD_OPTIONS="-r -m 0 -c 2"   #修改此处 [root@web-node1 nginx]#

haproxy 的安装

haproxy日志里面的localhost 和配置文件有关 这个IP可以修改

log 127.0.0.1 local10 info

3.集群配置

haproxy 的安装

192.168.56.11  nginx 反向代理  keepalived  haproxy

192.168.56.12  nginx 反向代理 keepalived  haproxy

192.168.56.13 nginx 模拟tomcat

192.168.56.14  nginx 模拟tomcat

keepalived的VIP为192.168.56.21

问题:haproxy 不会绑定不存在的VIP 所以启动不起来 so,这样可以绑定不存在的VIP

 echo 1 > /proc/sys/net/ipv4/ip_nonlocal_bind

vi /etc/sysctl.conf   sysctl -p

net.ipv4.ip_nonlocal_bind = 1
开启允许绑定非本机的IP

查看keepalived的配置文件192.168.56.11(主)

[root@web-node1 nginx]# cat  /etc/keepalived/keepalived.conf  ! Configuration File for keepalived global_defs {    notification_email {      saltstack@example.com    }    notification_email_from keepalived@example.com    smtp_server 127.0.0.1    smtp_connect_timeout 30    router_id haproxy_ha } vrrp_instance haproxy_ha { state MASTER interface eth0     virtual_router_id 36 priority 150     advert_int 1 authentication { auth_type PASS         auth_pass 1111     }     virtual_ipaddress {        192.168.56.21     } } [root@web-node1 nginx]#

查看keepalived的配置文件192.168.56.12(备)

[root@web-node2 ~]# cat /etc/keepalived/keepalived.conf  ! Configuration File for keepalived global_defs {    notification_email {      saltstack@example.com    }    notification_email_from keepalived@example.com    smtp_server 127.0.0.1    smtp_connect_timeout 30    router_id haproxy_ha } vrrp_instance haproxy_ha { state BACKUP interface eth0     virtual_router_id 36 priority 100     advert_int 1 authentication { auth_type PASS         auth_pass 1111     }     virtual_ipaddress {        192.168.56.21     } } [root@web-node2 ~]#

查看192.168.56.11 haproxy的配置文件

[root@web-node2 ~]# cat /etc/haproxy/haproxy.cfg global maxconn 100000 chroot /var/lib/haproxy user haproxy group haproxy daemon nbproc 1  pidfile /usr/local/haproxy/logs/haproxy.pid  stats socket /var/lib/haproxy.sock mode 600 level admin log 127.0.0.1 local3 info defaults option http-keep-alive maxconn 100000 mode http timeout connect 5000ms timeout client  50000ms timeout server 50000ms listen stats mode http bind 0.0.0.0:8888 stats enable stats uri     /haproxy-status  stats auth    haproxy:saltstack frontend frontend_www_example_com bind 192.168.56.21:80 mode tcp option httplog log global     default_backend backend_www_example_com backend backend_www_example_com option forwardfor header X-REAL-IP option httpchk HEAD / HTTP/1.0 balance   roundrobin  server web-node1  192.168.56.11:8080 check inter 2000 rise 30 fall 15 server web-node2  192.168.56.12:8080 check inter 2000 rise 30 fall 15 [root@web-node2 ~]#

查看192.168.56.12 haproxy的配置文件

[root@web-node1 nginx]# cat /etc/haproxy/haproxy.cfg  global maxconn 100000 chroot /var/lib/haproxy user haproxy group haproxy daemon nbproc 1  pidfile /usr/local/haproxy/logs/haproxy.pid  stats socket /var/lib/haproxy.sock mode 600 level admin #log 127.0.0.1 local3 info log  192.168.56.21 local0 debug defaults option http-keep-alive maxconn 100000 mode http timeout connect 5000ms timeout client  50000ms timeout server 50000ms listen stats mode http bind 0.0.0.0:8888 stats enable stats uri     /haproxy-status  stats auth    haproxy:saltstack frontend frontend_www_example_com bind 192.168.56.21:80 mode http option httplog log global     default_backend backend_www_example_com backend backend_www_example_com option forwardfor header X-REAL-IP option httpchk HEAD / HTTP/1.0 balance   roundrobin  server web-node1  192.168.56.11:8080 check inter 2000 rise 30 fall 15 server web-node2  192.168.56.12:8080 check inter 2000 rise 30 fall 15 [root@web-node1 nginx]#

查看192.168.56.11的nginx反向代理的配置文件(最简单的配置 demo)

[root@web-node1 nginx]# cat  /etc/nginx/nginx.conf worker_processes  1; events {     worker_connections  1024; } http {     include       mime.types;     default_type  application/octet-stream;     sendfile        on;     keepalive_timeout  65;       upstream server_pools {          server 192.168.56.13:8080  weight=1;          server 192.168.56.14:8080  weight=1;     }       server {         listen       192.168.56.11:8080;         server_name  blog.liuhaixiao.com;         location / {             proxy_pass http://server_pools;             proxy_set_header Host  $host;             proxy_set_header X-Forwarded-For $remote_addr;         }     } }  [root@web-node1 nginx]#

查看192.168.56.12的nginx反向代理的配置文件(最简单的配置 demo)

[root@web-node2 ~]# cat /etc/nginx/nginx.conf worker_processes  1; events {     worker_connections  1024; } http {     include       mime.types;     default_type  application/octet-stream;     sendfile        on;     keepalive_timeout  65;       upstream server_pools {          server 192.168.56.13:8080  weight=1;          server 192.168.56.14:8080  weight=1;     }       server {         listen       192.168.56.12:8080;         server_name blog.liuhaixiao.com;         location / {             proxy_pass http://server_pools;             proxy_set_header Host  $host;             proxy_set_header X-Forwarded-For $remote_addr;         }     } } [root@web-node2 ~]#查看192.168.56.13的nginx web容器 [root@web-node3 html]# cat /usr/share/nginx/html/index.html  node-2 查看192.168.56.14的nginx web容器 [root@web-node4 html]# cat /usr/share/nginx/html/index.html  node-1

检查VIP zai 192.168.56.11上面

[root@web-node1 nginx]# ip addr 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN      link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00     inet 127.0.0.1/8 scope host lo        valid_lft forever preferred_lft forever     inet6 ::1/128 scope host         valid_lft forever preferred_lft forever 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000     link/ether 00:0c:29:10:66:98 brd ff:ff:ff:ff:ff:ff     inet 192.168.56.11/24 brd 192.168.56.255 scope global eth0        valid_lft forever preferred_lft forever     inet 192.168.56.21/32 scope global eth0        valid_lft forever preferred_lft forever     inet6 fe80::20c:29ff:fe10:6698/64 scope link         valid_lft forever preferred_lft forever [root@web-node1 nginx]#

现在把本地的电脑blog.liuhaixiao.com 解析到192.168.56.21上面去

haproxy 的安装

####################################################

新添加:192.168.56.15 增加一个nginx 域名

haproxy 监听80端口 nginx 监听的端口千万不能和后端tomcat一样 否则回包回不来

[root@web-node1 ~]# cat  /etc/nginx/nginx.conf worker_processes  1; events {     worker_connections  1024; } http {     include       mime.types;     default_type  application/octet-stream;     sendfile        on;     keepalive_timeout  65;       upstream server_pools {          server 192.168.56.13:8080  weight=1;          server 192.168.56.14:8080  weight=1;     }         upstream server_tt {          server 192.168.56.15:8080  weight=1;     }     server {         listen       81;         server_name  blog.liuhaixiao.com;         location / {             proxy_pass http://server_pools;             proxy_set_header Host  $host;             proxy_set_header X-Forwarded-For $remote_addr;         }     }        server {         listen      81;         server_name  blog.sanlang.com;         location / {             proxy_pass http://server_tt;             proxy_set_header Host  $host;             proxy_set_header X-Forwarded-For $remote_addr;         }     } }  [root@web-node1 ~]#

haproxy 的安装

3是 另外一台服务器的192.168.56.15 tomcat/nginx 的页面

haproxy 的安装

haproxy 的安装

haproxy具体参数请参考:

http://www.cnblogs.com/zhang789/p/6057402.html

haproxy:多域名参考

基于域名负载均衡的Haproxy配置

http://blog.csdn.net/youyudehexie/article/details/7606504

#####################

另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。

标题名称:haproxy的安装-创新互联
网站URL:https://www.cdcxhl.com/article46/dgghhg.html

成都网站建设公司_创新互联,为您提供企业建站标签优化微信小程序商城网站网页设计公司面包屑导航

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

微信小程序开发