apache2.4配置负载均衡

配置conf/httpd.conf

LoadModule:加载特定的DSO模块
语法:LoadModule module filename
filename使用相对路径,则路径是相对于ServerRoot所指示的相对路径

LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
LoadModule proxy_http_module modules/mod_proxy_http.so
LoadModule proxy_connect_module modules/mod_proxy_connect.so
LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
LoadModule rewrite_module modules/mod_rewrite.so
LoadModule slotmem_shm_module modules/mod_slotmem_shm.so
LoadModule lbmethod_byrequests_module modules/mod_lbmethod_byrequests.so
LoadModule headers_module modules/mod_headers.so

Include conf/extra/httpd-vhosts.conf
  • mod_proxy:提供基础的代理能力
    ProxyRequests off
    官网提醒:在保护服务器之前,不要使用proxyrequest启用代理,开放代理服务器对您的网络和整个互联网都是危险的
    mod_proxy模块需要其他模块提供协议支持,官网列举出表格:
    在这里插入图片描述

  • mod_proxy_balancer:提供负载均衡支持,支持的协议:http、ftp、ajp13

  • mod_rewrite:提供一个基于规则的重写引擎,用于动态重写请求的URL

配置conf/extra/httpd-vhosts.conf

<VirtualHost localhost:80>
    ServerAdmin [email protected]
    ServerName localhost
    ServerAlias localhost
    ProxyRequests Off
	ProxyPreserveHost On
	ProxyPass / balancer://mycluster/
	ProxyPassReverse / balancer://mycluster/
	
    <Proxy balancer://mycluster>
		BalancerMember http://localhost:18080  loadfactor=1 connectiontimeout=5 timeout=5
		BalancerMember http://localhost:28080 loadfactor=1 connectiontimeout=5 timeout=5
		ProxySet lbmethod=byrequests
    </Proxy>
</VirtualHost>

ProxyPass / balancer://mycluster/ balancer是负载均衡协议和http类似
mycluster是集群的名称
BalancerMember 后面跟负载均衡的url地址
loadfactor负载系数

lbmethod负载均衡算法,按需加载需要的模块:

mod_lbmethod_byrequests: 按照请求次数均衡(默认)
mod_lbmethod_bytraffic,: 按照流量均衡
mod_lbmethod_bybusyness: 按照繁忙程度均衡(总是分配给活跃请求数最少的服务器)
mod_lbmethod_heartbeat.:

发布了95 篇原创文章 · 获赞 4 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/qq_26264237/article/details/100176154
今日推荐