• 基于 Haproxy 构建负载均衡集群


    案例环境:

    主机            操作系统                     IP地址                  主要的软件
    ----------------------------------------------------------------------------
    Haproxy    CentOS6.6 x86_64   192.168.200.101  haproxy-1.4.24.tar.gz
    Nginx1    CentOS6.6 x86_64   192.168.200.103  nginx-1.6.2.tar.gz
    Nginx2    CentOS6.6 x86_64   192.168.200.104  nginx-1.6.2.tar.gz

    配置负载均衡服务器

    1.安装Haproxy依赖包及源码包编译安装

    yum -y install gcc gcc-c++ make pcre-devel bzip2-devel

    2.将准备好的软件包解压

    tar xf haproxy-1.4.24.tar.gz -C /usr/src/

    3.编译安装

    cd /usr/src/haproxy-1.4.24/

    make TARGET=linux26 && make install

    4.建立haproxy的配置目录及文件

    mkdir /etc/haproxy

    cp examples/haproxy.cfg /etc/haproxy/

    5.haproxy 配置文件修改

    vim /etc/haproxy/haproxy.cfg

    # this config needs haproxy-1.1.28 or haproxy-1.2.1

     
    global
    #   log 127.0.0.1   local0
    #   log 127.0.0.1   local1 notice
        log /dev/log    local0 info
        log /dev/log    local0 notice
        maxconn 4096
        uid 99
        gid 99
        daemon
     
    defaults
        log global
        mode    http
        option  httplog
        retries 3
        maxconn 4096
        contimeout  5000
        clitimeout  50000
        srvtimeout  50000
     
    listen  webcluster 0.0.0.0:80
        option  httpchk GET /index.html
        balance roundrobin
        server  inst1 192.168.200.113:80 check inter 2000 fall 3
        server  inst1 192.168.200.114:80 check inter 2000 fall 3
     
    listen admin_stats
        bind 0.0.0.0:8000
        mode http
        option httplog
        maxconn 100
        stats refresh 30s
        stats uri /stats
        stats realm Crushlinux Haproxy
            stats auth admin:admin
        stats hide-version
    6.准备服务自启动脚本
    cp /usr/src/haproxy-1.4.24/examples/haproxy.init /etc/init.d/haproxy
    ln -s /usr/local/sbin/haproxy /usr/sbin/haproxy
    chmod +x /etc/init.d/haproxy
    /etc/init.d/haproxy start
     
    配置nginxWEB服务器
    1.搭建Nginx1
    (1.)软件包安装nginx
    (2.)源码包安装nginx
    2.创建测试页
    cd /usr/local/nginx/html/
    echo "server 192.168.200.113" > index.html
    3.起服务
    /usr/local/nginx/sbin/nginx
    4.查看80端口信息
    netstat -anpt |grep :80
    5.nginx2搭建方式同上,要修改测试页
    echo "server 192.168.200.114" > index.html
     
    ##nginx服务控制方式
    /usr/local/nginx/sbin/nginx 启动服务

    killall -s HUP nginx 重新加载服务
    killall -s QUIT nginx 退出服务

    测试环境

    用浏览器打开 http://192.168.200.111
    打开一个新的浏览器再次访问 http://192.168.200.111


    可以验证两次访问到的结果分别为:
    server 192.168.200.113
    server 192.168.200.114

    Haproxy 日志文件:

     1.添加日志文件

    vim /etc/haproxy/haproxy

    # this config needs haproxy-1.1.28 or haproxy-1.2.1

     
    global
        #log 127.0.0.1  local0
        #log 127.0.0.1  local1 notice
         
        log /dev/log    local0 info
        log /dev/log    local0 notice
    2.重启服务
    service haproxy restart
    3.修改rsyslog配置
     vim /etc/rsyslog.d/haproxy.conf
    if ($programname == 'haproxy' and $syslogserverity-text == 'info') then -/var/log/haproxy/haproxy-info.log
    &~
    if ($programname == 'haproxy' and $syslogserverity-text == 'notice') then -/var/log/haproxy/haproxy-notice.log
    &~  
    4.重启rsyslog服务
    service rsyslog restart
    5.查看日志文件是否创建成功
    ls -l /var/log/haproxy/haproxy-info.log
    ls -l /var/log/haproxy/haproxy-notice.log
    6.进入网页进行状态统计功能测试
  • 相关阅读:
    git 学习
    公司领导写给新员工的信
    PLSQl远程连接oracle数据库
    hdu2222之AC自动机入门
    代码中添加事务控制 VS(数据库存储过程+事务) 保证数据的完整性与一致性
    ubuntu13.04安装SenchaArchitect-2.2无法启动的问题
    MVVMLight Toolkit在Windows Phone中的使用扩展之一:在ViewModel中实现导航,并传递参数
    面试题24:二叉搜索树与双向链表
    Struts2中的包的作用描述
    filter-mapping中的dispatcher使用
  • 原文地址:https://www.cnblogs.com/990114-jhc/p/11650156.html
Copyright © 2020-2023  润新知