配置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.: