功能:一:实现当用访问192.168.1.210 时,负载至下一层的192.168.1.50、192.168.1.221两台web服务器;
二:实现在192.168.1.24上缓存用户请求的数据,实现减少后端web服务器的负载。
配置:192.168.1.210 vim nginx.conf
在http 模块中加入:#把后端的50和221绑成一组负载均衡的组。
upstream webserver {
server 192.168.1.50;
server 192.168.1.221;
}
在server模块中加入 #把用户的请求代理至后端的webserver;
location / {
proxy_pass http://webserver;
proxy_set_header X-Real-IP $remote_addr;
}
##############################
以上实现了当用轮巡方式的负载均衡。当用户访问1.24时,平均负载至下一层的50和221服务器
##############################
在http段中加入: #定义缓存的路径,一级目录命名为1位16进制,二级目录命名为2位16进制(最多支持三级目录),非活动时间为1小时,缓存的最大空间为1G,在内存中分出10M的空间用来存储缓存的key值,名称为STATIC (用来给下面引用)
proxy_cache_path /data/nginx levels=1:2 keys_zone=STATIC:10m inactive=1h max_size=1g;
在上文的 location /后加入以下内容:
proxy_set_header HOST $host; #表明请求的主机名
proxy_cache STATIC; #调用上面定义的STATIC缓存
proxy_cache_valid 200 1d; #当请求状态码为200时,缓存1天
proxy_cache_valid 301 302 10m; #当请求状态码为301或302时,缓存10分钟
proxy_cache_valid any 1m; #其他请求状态码时,缓存1分钟
proxy_cache_use_stale error timeout invalid_header updating http_500 http_502 http_503 http_504; #error,timeout 等类型的不进行缓存。
####################################
以上实现把后端50和221的访问内容缓存至210的/data/nginx目录里
####################################