1. 源码包下载及安装

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
root@iZ23tsilmb7Z:/usr/local/src# apt-get -y install make gcc
root@iZ23tsilmb7Z:/usr/local/src# wget http://fossies.org/linux/misc/haproxy-1.6.6.tar.gz
--2016-07-03 20:28:35--  http://fossies.org/linux/misc/haproxy-1.6.6.tar.gz
Resolving fossies.org (fossies.org)... 138.201.17.217
Connecting to fossies.org (fossies.org)|138.201.17.217|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1565046 (1.5M) [application/x-gzip]
Saving to: ‘haproxy-1.6.6.tar.gz’
 
100%[==============================================================>] 1,565,046    210KB/s   in 8.1s   
 
2016-07-03 20:28:44 (190 KB/s) - ‘haproxy-1.6.6.tar.gz’ saved [1565046/1565046]
 
root@iZ23tsilmb7Z:/usr/local/src# tar -zxvf haproxy-1.6.6.tar.gz
root@iZ23tsilmb7Z:/usr/local/src# cd haproxy-1.6.6
root@iZ23tsilmb7Z:/usr/local/src/haproxy-1.6.6# make TARGET=linux2628 PREFIX=/usr/local/haproxy
root@iZ23tsilmb7Z:/usr/local/src/haproxy-1.6.6# make install PREFIX=/usr/local/haproxy
 
//参数说明
TARGET=linux26
#使用uname -r查看内核,如:2.6.18-371.el5,此时该参数就为linux26
#kernel 大于2.6.28的用:TARGET=linux2628
PREFIX=/usr/local/haprpxy   #/usr/local/haprpxy为haprpxy安装路径

 2.配置启动脚本

1
2
 3
cp /usr/local/src/haproxy-1.6.3/examples/haproxy.init /etc/init.d/haproxy
chmod +x /etc/init.d/haproxy
useradd -r haproxy -s /sbin/nologin

如果是ubuntu系统需要/etc/init.d/functions为/lib/lsb/init-functins

注释/etc/sysconfig/network   [ ${NETWORKING} = "no" ] && exit 0

同时去除start 里面damon

 3.配置环境变量

1
2
echo 'PATH="/usr/local/haproxy/sbin:$PATH"' >> /etc/profile
source /etc/profile

 4.haproxy配置文件

1
2
3
4
mkdir /etc/haproxy
mkdir /var/lib/haproxy
cd /etc/haproxy/
vim haproxy.cfg

 5.启动脚本更改

1
2
vim /etc/init.d/haproxy
 35 BIN=/usr/sbin/$BASENAME   # 替换BIN=/usr/local/haproxy/sbin/$BASENAME

 6.配置haproxy日志

1
2
3
4
5
6
7
[root@localhost haproxy-1.6.3]# vim /etc/rsyslog.conf     #17,18是关于tcp行注释取消,#最后增加一行
 16 # Provides TCP syslog reception
 17 $ModLoad imtcp
 18 $InputTCPServerRun 514
  
local3.* /var/log/haproxy.log
[root@localhost haproxy-1.6.3]# /etc/init.d/rsyslog restart

7.haproxy.cfg配置文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
# 全局配置,日志,运行安装路径,
global
        log 127.0.0.1 local3 info  # 日志存储到127.0.0.1,端口是514,
 
        chroot /var/lib/haproxy
        pidfile /var/run/haproxy.pid        #配置haproxy的sock文件,权限是600,等级是admin权限,超时2分钟
        stats socket /var/lib/haproxy/haproxy.sock mode 660 level admin
        stats timeout 2m
        user haproxy
        group haproxy
        daemon
 
# 默认配置
defaults
        log global
        mode http
        #option httplog         # 访问日志关闭
        option dontlognull      # 不记录空链接,如监控链接
        timeout connect 5000
        timeout client 50000
        timeout server 50000
        timeout check 10000
        maxconn 3000
 
# 状态监控页面
listen haproxy_status
        # 绑定地址,每5s自动刷新,隐藏版本,状态访问页面,认证账号,密码,条件满足进入管理界面
        bind 172.16.1.14:8888
        stats enable
        stats refresh 100s
        stats hide-version
        stats uri /haproxy-status
        stats realm "HAProxy/ static"
        stats auth admin:admin123
        stats admin if TRUE
        # 允许的网段,允许,拒绝
        #acl allow src 192.168.12.0/24
        #tcp-request content accept if allow
        #tcp-request content reject
 
# 1.匹配到www.pinhui001.com域名,跳转到www_backend
frontend ph_web
        bind 172.16.1.14:80
        acl www hdr_end(host) pinhui001.com        #ACL规则定义的方式有hdr_reg(host)、hdr_dom(host)、hdr_beg(host)、url_sub、url_dir、path_beg、path_end等,-i表示不匹配大小写
        acl www hdr_end(host) www.pinhui001.com
        use_backend www_backend if www
 
# 2.匹配到目录static,images及jpg,png结尾的跳转到
frontend ph_static
        bind 172.16.1.14:1802
        acl url_static path_beg -i /static /images /stylesheets
        #acl url_static path_end -i .jpg .gif .png .css .js
        acl static_reg url_reg /*.(css|jpg|js|jpeg|gif)$
        use_backend static_backend if url_static
 
# test
frontend test_web
        bind 172.16.1.14:8899
        acl test hdr_beg(host) -i test.pinhui001.cc
        use_backend test_backend if test
 
backend test_backend
        mode http
        balance roundrobin
        option forwardfor header X-REAL-IP
        option httpchk GET /iisstart.htm HTTP/1.1\r\nHost:172.16.1.25:80
        server web-node1 172.16.1.25:80 check inter 2000 rise 3 fall 3 weight 1
 
# 1.
backend www_backend
        # 随机,2秒检测,2次成功认为服务可用,3次失败认为服务不可用,权重为1
        # option httpchk GET /index.html
        balance roundrobin
        option forwardfor header X-REAL-IP
        server web-node1 172.16.1.25:18201 check inter 2000 rise 3 fall 3 weight 1
        server web-node3 192.168.2.16:80 check inter 2000 rise 3 fall 3 weight 1
 
# 2.
backend static_backend
        balance roundrobin
        option forwardfor header X-REAL-IP
        # cookie中插入srv字串防止登录信息丢失
        cookie srv insert nocache
        server static01 172.16.1.110:80 check inter 2000 rise 2 fall 3 weight 1
        server static02 172.16.1.111:80 check inter 2000 rise 2 fall 3 weight 1

 8.动态管理haproxy

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# 配置文件全局加入2行
vim /etc/haproxy/haproxy.cfg
global
   stats socket /var/lib/haproxy/haproxy.sock mode 600 level admin
   stats timeout 2m
 
# 安装socker
yum list | grep socat
yum install -y socat
 
# 查看支持的命令
[root@ha-node01 haproxy]# echo "help" | socat stdio /var/lib/haproxy/haproxy.sock
[root@ha-node01 haproxy]# echo "show info" | socat stdio /var/lib/haproxy/haproxy.sock  # 查看状态信息
 
# 关闭某台主机,开启
cho "disable server test_backend/web-node1" | socat stdio /var/lib/haproxy/haproxy.sock
echo "enable server test_backend/web-node1" | socat stdio /var/lib/haproxy/haproxy.sock

 9.haproxy性能调优

1
2
3
4
5
6
[root@ha-node01 haproxy]# cat /proc/sys/net/ipv4/ip_local_port_range  # 端口范围调大
32768   61000  
[root@ha-node01 haproxy]# cat /proc/sys/net/ipv4/tcp_tw_reuse         # 设置1
1             
[root@ha-node01 haproxy]# cat /proc/sys/net/ipv4/tcp_fin_timeout      # 时间调短
30         

HAproxy-1.6.X 安装部署的更多相关文章

  1. redis cluster安装部署(测试环境)

    redis 应用于web前端,做缓存和数据存取的速度是挺可观的,最近看了一些资料,手痒了,就弄了一个测试环境,两台方案,试用一下. ##Redis 集群部署## 一,方案调研: 参考博客: http: ...

  2. CentOS7.4下安装部署HAProxy高可用群集

    目录第一部分 实验环境第二部分 搭建配置web服务器第三部分 安装配置haproxy服务器第四部分 测试验证第五部分 haproxy配置相关详细解释 第一部分 实验环境1.一台harpoxy调度服务器 ...

  3. openstack pike 集群高可用 安装 部署 目录汇总

    # openstack pike 集群高可用 安装部署#安装环境 centos 7 史上最详细的openstack pike版 部署文档欢迎经验分享,欢迎笔记分享欢迎留言,或加QQ群663105353 ...

  4. Mariadb Galera Cluster 群集 安装部署

    #Mariadb Galera Cluster 群集 安装部署 openstack pike 部署  目录汇总 http://www.cnblogs.com/elvi/p/7613861.html # ...

  5. Haproxy+Keepalived高可用环境部署梳理(主主和主从模式)

    Nginx.LVS.HAProxy 是目前使用最广泛的三种负载均衡软件,本人都在多个项目中实施过,通常会结合Keepalive做健康检查,实现故障转移的高可用功能. 1)在四层(tcp)实现负载均衡的 ...

  6. kubernetes 1.9 安装部署

    参考地址:https://github.com/gjmzj/kubeasz 引言 提供快速部署高可用k8s集群的工具,基于二进制方式部署和利用ansible-playbook实现自动化,既提供一键安装 ...

  7. 基于Containerd安装部署高可用Kubernetes集群

    转载自:https://blog.weiyigeek.top/2021/7-30-623.html 简述 Kubernetes(后续简称k8s)是 Google(2014年6月) 开源的一个容器编排引 ...

  8. Oracle安装部署,版本升级,应用补丁快速参考

    一.Oracle安装部署 1.1 单机环境 1.2 Oracle RAC环境 1.3 Oracle DataGuard环境 1.4 主机双机 1.5 客户端部署 二.Oracle版本升级 2.1 单机 ...

  9. KVM安装部署

    KVM安装部署 公司开始部署KVM,KVM的全称是kernel base virtual machine,对KVM虚拟化技术研究了一段时间, KVM是基于硬件的完全虚拟化,跟vmware.xen.hy ...

  10. Linux平台oracle 11g单实例 + ASM存储 安装部署 快速参考

    操作环境:Citrix虚拟化环境中申请一个Linux6.4主机(模板)目标:创建单机11g + ASM存储 数据库 1. 主机准备 2. 创建ORACLE 用户和组成员 3. 创建以下目录并赋予对应权 ...

随机推荐

  1. Leetcode 之Simplify Path @ python

    Given an absolute path for a file (Unix-style), simplify it. For example,path = "/home/", ...

  2. Unreal Engine 4(虚幻UE4)GameplayAbilities 插件入门教程(六)GameplayEffect的级别设置

    本节的内容不难,权当是复习.如果没有完成前面的教程,请前往学习. 第一步:用一个csv文件表示级别数据,下图中的Hurt随级别1~7表示其损伤值在1~7级别时分别是-7,-14,-20等.写好之后关闭 ...

  3. 同一个IP段ping不通同事的电脑

    原因居然是同事的防火墙打开了. windows关闭防火墙的教程,请自行百度.

  4. 【BZOJ】1013 [JSOI2008]球形空间产生器sphere(高斯消元)

    题目 传送门:QWQ 分析 高斯消元就是个大暴力.... 代码 #include <bits/stdc++.h> using namespace std; ; ; int n; doubl ...

  5. 基于RDBMS的OLAP的解决方案

    BI项目如何开发: 了解OLAP的分析方法: 对数据进行多维建模分析,也就是自己设计自己的数据方体,之后程序自动生成数据方体 数据方体: 1.自动成的表结构,仅仅有你需要的列 2.生成一条SQL语句( ...

  6. 给iOS开发新手送点福利,简述UIPikerView的属性和用法

    1.   numberOfComponents:返回UIPickerView当前的列数 NSInteger num = _pickerView.numberOfComponents; NSLog( @ ...

  7. python_基础算法

    本篇主要实现九(八)大排序算法,分别是冒泡排序,插入排序,选择排序,希尔排序,归并排序,快速排序,堆排序,计数排序.希望大家回顾知识的时候也能从我的这篇文章得到帮助. 概述 十种常见排序算法可以分为两 ...

  8. 学大伟业Day1解题报告

    学大伟业Day1解题报告 张炳琪 一.   时间分配 T1:30分钟  T2: 60分钟  T3:100分钟 二.答题情况及错因 T1:100         T2:55             T3 ...

  9. Kubernetes 无法删除pod实例的排查过程

    今天在k8s集群创建pod时,执行了如下命令: #kubectl run busybox-service --image=busybox --replicas=3 但是在创建过程中pod既然失败了, ...

  10. python应用之爬虫实战2 请求库与解析库

    知识内容: 1.requests库 2.selenium库 3.BeautifulSoup4库 4.re正则解析库 5.lxml库 参考: http://www.cnblogs.com/wupeiqi ...