haproxy概念和负载均衡
操作环境:三台虚拟机:80.100、80.102、80.103
192.168.80.100:
systemctl stop firewalld //关闭防火墙
setenforce 0 //关闭监控
yum install lrz* -y //安装上传软件
tar xf haproxy-1.5.15.tar.gz -C /opt/ //解压压缩包到/opt/需要haproxy软件包
cd /opt/haproxy-1.5.15/ //进入/opt/haproxy-1.5.15/
yum install -y \
pcre-devel \
bzip2-devel \
gcc \
gcc-c++ \
make
tar xzvf haproxy-1.5.15.tar.gz -C /opt --解压软件包的 /opt/下
cd /opt/haproxy-1.5.15
make TARGET=linux26 PREFIX=/usr/local/haproxy //标识64为系统
make install PREFIX=/usr/local/haproxy --安装路径
mkdir /etc/haproxy --创建配置文件目录
useradd -s /sbin/nologin -M haproxy --创建一个不可登录系统,且没有家目录的用户
id haproxy //查看用户信息
cp /opt/haproxy-1.5.15/examples/haproxy.cfg /etc/haproxy/
vi 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 loghost local0 info //定义haproxy 日志级别
maxconn 4096 //可以接收的最大并发连接数
#chroot /usr/share/haproxy //工作目录
uid 1001 //运行的程序用户
gid 1001 //运行的程序用户组
daemon //创建1个进程进入deamon模式运行,以后台形式运行harpoxy
#debug
#quiet
defaults
log global //定义日志,采用全局定义
mode http //所处理的类别,tcp是四层,http是七层,health只会返回OK,若是混合模式则mode不需要设置
option httplog //每次请求完毕后主动关闭http通道
option dontlognull //不记录健康检查的日志信息
retries 3
redispatch
maxconn 2000
contimeout 5000
clitimeout 50000
srvtimeout 50000
listen admin_stats //为haproxy访问状态监控页面配置,取名为admin_stats
bind 0.0.0.0:8089 //监听端口
stats enable //启用监听端口
mode http //http的7层模式
log global // 继承global中log的定义
stats uri /stats //监控页面的url访问路径,即http://ip/stats访问监控页面
stats realm Haproxy\ Statistics //监控页面的密码框提示信息
stats auth admin:admin //监控页面的用户和密码admin,可以设置多个用户名
#stats hide-version //隐藏统计页面上HAProxy的版本信息
stats admin if TRUE //当通过认证才可管理
stats refresh 30s //页面自动刷新时间30s
listen webcluster //定义webcluster服务器组。
bind 0.0.0.0:80 //定义haproxy前端部分监听的端口。
mode http //http的7层模式
option httpchk GET /index.html //心跳检测
log global //继承global中log的定义
maxconn 3000 //server进程可接受的最大并发连接数
balance roundrobin //负载均衡的方式:轮询
server web01 192.168.80.102:80 check inter 2000 fall 5
server web02 192.168.80.103:80 check inter 2000 fall 5
ln -s /usr/local/haproxy/sbin/haproxy /usr/sbin/haproxy
service haproxy start
service firewalld stop
在浏览器地址栏输出:192.168.80.100:8089/stats
192.168.80.102:
systemctl stop firewalld //关闭防火墙
setenforce 0 //关闭监控
yum install httpd -y //安装httpd服务
vi /etc/httpd/conf/httpd.conf
把ServerName www.example.com:80的#去掉
:wq //保存退出
cd /var/www/html/ //进入这个目录
echo "<h1>server aa</h1>" > index.html //在当前目录中创建index.html在里面添加server aa
systemctl start httpd //重启服务
在浏览器地址栏输出192.168.80.102
192.168.80.103:
和上面步骤一样