centos6.5 64位下haproxy安装配置与使用例子

系统版本:centos6.5_x64
软件版本:haproxy-1.5.9.tar.gz
后端服务器IP:10.10.10.5、10.10.10.6

这里提供haproxy的本站下载地址:wget -c http://www.rootop.org/rs/haproxy-1.5.9.tar.gz

安装:

[root@rootop-haproxy haproxy-1.5.9]# make TARGET=linux26 PREFIX=/usr/local/haproxy install

这里为什么是linux26,可以去看下README文档。

创建配置文件:

[root@rootop-haproxy ~]# mkdir /usr/local/haproxy/conf
[root@rootop-haproxy ~]# vi /usr/local/haproxy/conf/haproxy.cfg

global
    log 127.0.0.1 local0 info
    maxconn 1000
    chroot /usr/local/haproxy
    uid nobody
    gid nobody
    daemon
    nbproc 1
    pidfile /tmp/haproxy.pid
 
defaults
    log global
    mode http
    option httplog
    retries 3
    option httpclose
    option dontlognull
    option forwardfor
    option redispatch
    log 127.0.0.1 local3
    balance roundrobin
    maxconn 20480
    timeout connect 5000
    timeout client 50000
    timeout server 50000
    timeout check 2000
 
    stats enable
    stats refresh 30s
    stats uri /ha_check
    stats hide-version
    stats auth admin:admin
 
frontend http-in
    bind *:80
    mode http
    option httplog
    log global
    default_backend http_pool
 
backend http_pool
    balance roundrobin
    option httpchk HEAD /index.html HTTP/1.0
    cookie SERVERID insert indirect
    server WEBSRV1 10.10.10.5:80 maxconn 1500 cookie SRV1 check inter 2000 rise 2 fall 3 weight 1
    server WEBSRV2 10.10.10.6:80 maxconn 1500 cookie SRV2 check inter 2000 rise 2 fall 3 weight 1

启动服务:

[root@rootop-haproxy ~]# /usr/local/haproxy/sbin/haproxy -f /usr/local/haproxy/conf/haproxy.cfg

stats uri /status #监控页面
stats auth admin:admin #监控页身份认证

提供一个管理脚本:

#!/bin/bash
PROXY_CONF=/usr/local/haproxy/conf/haproxy.cfg
PROXY_BIN=/usr/local/haproxy/sbin/haproxy
CHECK_PROXY=$(ps aux | grep "haproxy -f" | grep -v grep | wc -l)
 
case $1 in
 
        start)
        if [ $CHECK_PROXY -ge 1 ]; then
                echo "already running , exit"
                exit
        else
        $PROXY_BIN -f $PROXY_CONF
                if [ $? == 0 ]; then
                        echo "start ok"
                else
                        echo "start failed"
                fi
        fi
        ;;
 
        stop)
        kill -9 $(cat /tmp/haproxy.pid)
                if [ $? == 0 ]; then
                        rm -f /tmp/haproxy.pid && echo "stop ok"
                else
                        echo "stop failed"
                fi
        ;;
 
        restart)
        kill -9 $(cat /tmp/haproxy.pid)
                if [ $? == 0 ]; then
                        rm -f /tmp/haproxy.pid && echo "stop ok"
                else
                        echo "stop failed"
                fi
 
        $PROXY_BIN -f $PROXY_CONF
                if [ $? == 0 ]; then
                        echo "start ok"
                else
                        echo "start failed"
                fi
        ;;
 
        *)
        echo "only start/stop/restart"
esac
 
exit

然后通过多个客户端访问haproxy的ip地址可以看到后端不同服务器提供的内容。

cookie SERVERID insert indirect  其中这句设置了会话保持,通过插入cookie方式,测试效果。

访问到服务器1:

访问到服务器2:

 

浏览器关闭后,会话断开。

时间: 2024-10-05 10:07:59

centos6.5 64位下haproxy安装配置与使用例子的相关文章

win7 64位系统JDK安装配置环境变量教程_java

由于重做系统,平时需要进行android类编译反编译工作,于是重新装了下JDK并把过程记录分享出来. 具体步骤 首先,下载JDK安装包,到官网http://www.oracle.com/technetwork/java/javase/downloads/index.html进行下载,点左边的Java Platform (JDK) 7u51进入下一个下载页面, 点左边的Accept License Agreement,接受许可协议,方能下载,由于我装的WIN7 64位系统,所以选对应的64位安装包

windows(32位 64位)下python安装mysqldb模块

1.exe下载地址: http://www.codegood.com/archives/129 分为32位和64位,下载对应的exe即可 2.下载完后,双击exe安装即可 3.检查是否安装成功: 如果安装成功,将没有任何提示,如下  代码如下 复制代码 >>> import MySQLdb >>> 安装不成功的提示:  代码如下 复制代码 >>> import MySQLdb Traceback (most recent call last):   F

win7 64位下 mongodb安装及命令运行

有网友老催我把框架加上mongodb的支持,于是偶尔抽空看了看相关的文章.   今天有缘,就把mongodb安装了一下,中间遇到了小小的问题,So,把整个过程记录一下: 1:先上官网:http://www.mongodb.org/downloads 下载最新的:   下载完后文件名为:mongodb-win32-x86_64-2.4.6.zip 解压到当你要安装的目录,然后我把目录名给改短了一下,叫mongodb246,放在了e盘下. 2:用cmd运行目录下bin下的mongod.exe来安装服

32位-win7 64位下安装PL/SQL Developement扔无法使用

问题描述 win7 64位下安装PL/SQL Developement扔无法使用 首先,我从命令台那是可以登入Oracle的,说明了我的数据库安装是没问题的.然后,我按照网上说的,1下了Oracle32位的客户端,并且解压在了Oracle的安装目录的product同级目录下,也把安装目录下的NETWORKADMIN拷贝到了解压的客户端文件中,2.还在PL/SQL Developement的设置中设置了相应的Oracle Home和OCI library路径配置,3也在我的电脑的环境变量中设置了相

Win7 64位下原有oracle11g再安装oracle10g冲突吗

问题描述 Win7 64位下原有oracle11g再安装oracle10g冲突吗 Win7 64位下原有oracle11g再安装oracle10g冲突吗

php-imagick 安装扩展再win7 64位下不知如何安装

问题描述 imagick 安装扩展再win7 64位下不知如何安装 我现在的php 版本是 5.4 然后再网上知道想对应的 imagick dll phpinfo()始终看不到 搞了 一天了 求帮助啊 解决方案 http://www.myexception.cn/php/849722.html 解决方案二: 64位Win7安装oracle用U盘安装64位win7win7 64位下安装 cgal----------------------

centos6.5 64位,安装gearman-mysql-udf,报错!

问题描述 centos6.5 64位,安装gearman-mysql-udf,报错! 登入MySQL运行语句注册UDF函数: CREATE FUNCTION gman_do_background RETURNS STRING SONAME 'libgearman_mysql_udf.so'; 这时报错: ERROR 1126 (HY000): Can't open shared library 'libgearman_mysql_udf.so' (errno: 11 libgearman.so.

Win7 64位下PowerDesigner连接64位Oracle11g数据库

原文:Win7 64位下PowerDesigner连接64位Oracle11g数据库 操作系统:WIN7 64旗舰版 Oracle版本:64位11g PowerDesigner版本:15.1 问题描述:因为PowerDesigner是32的程序,连接数据库会默认开启32位的ODBC,因此无法使用Oracle11g的驱动程序 解决方法:下载安装Oracle11g客户端win32_11gR2_client.zip => 选择客户端的提供程序连接Oracle 详细步骤: 1.下载Oracle11g客户

MAC下mysql安装配置方法图文教程_Mysql

一.下载MySQL     访问MySQL的官网http://www.mysql.com/downloads/ 然后在页面中会看到"MySQL Community Server"下方有一个"download"点击. 进入MySQL的下载界面(http://www.mysql.com/downloads/mysql/),如果你是用的Mac OS来访问的话那么就会默认为你选好了Mac OS X 平台,而下面罗列的都是在Mac OS上能用的MySQL的版本,如果是用的其他