ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
haproxy1.7编译安装配置 centos7 x86_64 高可用、负载均衡 使用 1. 下载 wget http://www.haproxy.org/download/1.7/src/haproxy-1.7.5.tar.gz 2. 安装依赖 yum install gcc gcc-c++ autoconf automake -y 3. 安装haproxy mkdir -p /usr/local/haproxy tar -axf haproxy-* && cd ./haproxy-* make TARGET=linux2628 ARCH=x86_64 PREFIX=/usr/local/haproxy make install PREFIX=/usr/local/haproxy /usr/local/haproxy/sbin/haproxy -v 4. 增加用户 useradd -s /sbin/nologin -M haproxy id haproxy 5. 创建连接文件 ln -s /usr/local/haproxy/sbin/haproxy /usr/sbin/haproxy 6. 启动脚本配置 cp ./examples/haproxy.init /etc/init.d/haproxy chmod 755 /etc/init.d/haproxy 7. 创建配置文件 mkdir /etc/haproxy vim /etc/haproxy/haproxy.cfg 在配置文件haproxy.cfg中添加如下设置: #全局配置,定义haproxy进程的工作特性以及全局配置 global log 127.0.0.1 local3 info # 设置日志 chroot /usr/local/haproxy # chroot运行路径,增加安全性 pidfile /var/run/haproxy.pid # haproxy的pid存放路径 maxconn 4000 # 默认的最大连接数 user haproxy # 运行haproxy的用户 group haproxy # 运行haproxy用户所属的组 daemon # 以守护进程的方式工作于后台 # 默认配置 defaults mode http # 默认使用协议,可以为{http|tcp|health}http:是七层协议,tcp是四层, health:只返回ok log global option httplog # 详细记录http日志 option dontlognull # 不记录健康检查的日志信息 option http-server-close option forwardfor except 127.0.0.0/8 option redispatch # ServerID对应的服务器宕机后,强制定向到其他运行正常的服务器 retries 3 # 3次连接失败则认为服务不可用 timeout http-request 10s # 默认http请求超时时间 timeout queue 1m # 默认队列超时时间 timeout connect 10s # 默认连接超时时间 timeout client 1m # 默认客户端超时时间 timeout server 1m # 默认服务器端超时时间 timeout http-keep-alive 10s # 默认持久连接超时时间 timeout check 10s # 心跳检测超时 maxconn 3000 # 默认最大的连接数 #定义HAProxy监控页面 listen stats bind 0.0.0.0:1080 # 设置Frontend和Backend的组合体,监控组的名称,按需要自定义名称 mode http # http的7层模式 option httplog # 采用http日志格式 #log 127.0.0.1 local0 err # 错误日志记录 stats refresh 30s # 统计页面自动刷新时间 stats uri /stats # 统计页面url(http//IP:1080/stats) stats realm welcome login\ Haproxy # 统计页面密码框上提示文本 stats auth admin:admin # 设置监控页面的用户和密码:admin,可以设置多个用户名 stats hide-version # 隐藏统计页面上HAProxy的版本信息 stats admin if TRUE # 设置TURE后可在监控页面手工启动关闭后端真实服务器,后端服务器(haproxy-1.4.9以后版本) #前端配置,http_front名称可自定义 frontend http_front # 发起http请求道80端口,会被转发到设置的ip及端口 bind *:80 #haproxy的状态管理页面,通过/haproxy?stats来访问 stats uri /haproxy?stats default_backend http_back #后端配置,http_back名称可自定义 backend http_back #负载均衡方式 #source 根据请求源IP #static-rr 根据权重 #leastconn 最少连接者先处理 #uri 根据请求的uri #url_param 根据请求的url参数 #rdp-cookie 据据cookie(name)来锁定并哈希每一次请求 #hdr(name) 根据HTTP请求头来锁定每一次HTTP请求 #roundrobin 轮询方式 balance roundrobin #设置健康检查页面 option httpchk GET /index.html #传递客户端真实IP option forwardfor header X-Forwarded-For # inter 2000 健康检查时间间隔2秒 # rise 3 检测多少次才认为是正常的 # fall 3 失败多少次才认为是不可用的 # weight 30 权重 # 需要转发的ip及端口 server node1 192.168.179.131:8081 check inter 2000 rise 3 fall 3 weight 30 server node2 192.168.179.131:8082 check inter 2000 rise 3 fall 3 weight 30 8. 打开rsyslog配置 vim /etc/rsyslog.conf 去掉下面两行前面的#号 $ModLoad imudp $UDPServerRun 514 并添加下面一行 local3.* /var/log/haproxy/haproxy.log 9. 重启rsyslog mkdir /var/log/haproxy/ systemctl restart rsyslog 10. 启动haproxy service haproxy start 11. 加入开机启动 systemctl enable haproxy 12. 查看监控 http://ip:1080/stats