haproxy 提供高可用性、负载均衡以及基于 TCP 和 HTTP 应用的代理,支持虚拟主机,它是免费、快速并且可靠的一种解决方案。haproxy 特别适用于那些负载特大的 web 站点, 这些站点通常又需要会话保持或七层处理。haproxy 运行在当前的硬件上,完全可以支持数以万计的并发连接。并且它的运行模式使得它可以很简单安全的整 合进您当前的架构中, 同时可以保护你的 web 服务器不被暴露到网络上。
Server1 172.25.31.1 server4 172.25.31.4 节点
Server2 172.25.31.2 server3 172.25.31.3 服务器
配置haproxy
[root@server1 ~]# lftp 172.25.31.250
lftp 172.25.31.250:/pub> get haproxy-1.6.11.tar.gz
[root@server1 ~]# rpmbuild -tb haproxy-1.6.11.tar.gz
[root@server1 ~]# cd rpmbuild/
[root@server1 rpmbuild]# cd RPMS/x86_64
[root@server1 x86_64]# rpm -ivh haproxy-1.6.11-1.x86_64.rpm
[root@server1 x86_64]# rpm -ql hproxy
[root@server1 x86_64]# cd
[root@server1 ~]# tar zxf haproxy-1.6.11.tar.gz
[root@server1 ~]# cd haproxy-1.6.11
[root@server1 haproxy-1.6.11]# cd examples/
[root@server1 haproxy-1.6.11]# cp content-sw-sample.cfg /etc/haproxy/haproxy.cfg
[root@server1 haproxy-1.6.11]# cd /etc/haproxy
[root@server1 haproxy]# useradd -u 200 haproxy
[root@server1 haproxy]# vim /etc/group
haproxy❌200:
[root@server1 haproxy]# vim /etc/passwd
[root@server1 haproxy]# vim haproxy.cfg
[root@server1 haproxy]# /etc/init.d/haproxy start
[root@server1 haproxy]# vim /etc/security/limits.conf
[root@server1 ~]# /etc/init.d/haproxy start
Starting haproxy: [ OK ]
开启server2和server3的apche服务
测试:
Client: curl 172.25.31.1 实现轮询
浏览器输入:172.25.31.1/admin/stats
在haproxy中还可进行管理员密码设置,黑名单设置,以及错误指向设定。
Haproxy+php 可通过浏览器访问172.25.31.1/php 上传文件到服务器
Server2:
[root@server2 ~]# yum install php -y
[root@server2 ~]# /etc/init.d/httpd restart
[root@server2 ~]# cd /var/www/html
[root@server2 html ]# lftp 172.25.31.250
Lftp 172.25.31.250:/pub> mirror upload
[root@server2 html]# cd upload/
[root@server2 upload]# mv * …
[root@server2 upload]# cd …
[root@server2 html]# chmod 777 upload
[root@server2 html]# vim upload_file.php
[root@server2 html]# scp index.php upload_file.php server3:/var/www/html/
Server3:
[root@server3 ~]# yum install php -y
[root@server3 ~]# cd /var/www/html
[root@server3 html]# /etc/init.d/httpd restart
[root@server3 html]# mkdir -m 777 upload