怎么用pfSense为你的web服务做负载均衡(翻译)

这篇howto中展示了怎么使用pfSense 2.0 为你的多个web服务器配置负载均衡(load balancer)。这里假定在你的网络环境中已经拥有了一个pfSense服务器和2个以上的apache服务器,并且具有一定的pfSense知识。(参考 图解pfSense软路由系统的使用(NAT功能)

1. 前提

  • 一个安装好的pfSense 2.0 机器(如果它是你的外围防火墙,建议安装在物理机上)
  • 至少2个apache服务器(可以是虚拟机)
  • 确保在apache服务器之间代码文件是同步的(rsync、cororsync或其它可以保持web服务器间文件更新)

2. 配置pfSense

pfSense可以使用负载均衡的功能让特定的请求压力由多台服务器分担,这对于有多台应用的服务器很有帮助,因为你可以把负载压力分散到其它节点上而不是死磕一个节点。

2.1 Monitor

我们正式开始。首先点击Services -> Load Balancers,然后选择Monitor标签。

点击右边的+加号来添加一条记录,输入monitor的名字Name和描述Description(在这个示例名字和描述我都使用ApacheClusterMon),把类型Type设置成HTTP,主机地址Host设置一个还未使用的IP(后面我们将在这个IP上建立虚拟IP,这个虚拟IP会被分配到故障转移failover节点上,注:也有文章说把它设成WAN IP),HTTP Code保存默认的200 OK,然后点击Save保存并且使修改生效Apply Changes
怎么用pfSense为你的web服务做负载均衡(翻译)
怎么用pfSense为你的web服务做负载均衡(翻译)

2.2 Pool

接着建立服务器池server pool。点击Pools标签的+按钮来添加一个池。

在该示例我指定ApacheSrvPool为服务池名称,设置ModeLoad Balance,端口80(。这个端口时你后端服务器的监听端口,你当然可以设定其它应用的其它端口,不一定非是web)。为这个池设定上一步创建的ApacheClusterMon,依次将你的所有web服务器IP添加到这个池中Add to pool,保存并应用。
怎么用pfSense为你的web服务做负载均衡(翻译)
怎么用pfSense为你的web服务做负载均衡(翻译)

2.3 Virtual Server

最后一步,选择Virtual Servers标签页,点击+来添加一条记录。填写名称ApacheClusterVirtualServer、描述和IP地址,这个IP地址与第1步中说的未使用的IP相同,端口80,所有发送到这个WAN IP:port的连接都会被转发到服务器池中。虚拟服务器池Virtual Server Poll选择上一步创建的。提交并应用。
怎么用pfSense为你的web服务做负载均衡(翻译)
怎么用pfSense为你的web服务做负载均衡(翻译)

搞定!最后不要忘记为虚拟服务器IP和池添加防火墙规则。

上一篇:InnoDB行格式对text/blob大变长字段的影响


下一篇:自动记录MySQL慢查询快照脚本