准备三台机器
一台用来配置nginx当做反向代理以及负载均衡
两台web1,web2,配置相同
当把nginx当做反向代理时:
vi nginx.conf
在 server{~~~~~~~}段中配置
location / {
proxy_pass http://IP; #设置反向代理的地址
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; #设置主机头和客户端真实地址,以便服务器获取客户端真实I
}
缓存设置
在代理模块中开始缓存设置
proxy_cache mycache;
启用缓存,指明缓存所在的内存空间名称
proxy_cache_valid 200 1d;
200状态码内容缓存一天
proxy_cache_valid 301 302 10m;
301,302状态码缓存10分钟
proxy_cache_valid any 1m; 任意内容1分
这种配置代理相当于访问web时,必须先要经过其代理服务器nginx,可以大大提高后端服务器的性能
负载均衡
有代理时只能代理一台, 所以负载均衡相当于把一台变换成一组
还是在server(~~~~~~)中配置
upstream servers {
server 192.168.3.203; 也可以添加权重即优先级 server 192.168.3.203 weight=2;
server 192.168.3.202;
}
location /{
proxy_pass http:
//servers
;
将转发地址设置为servers组
}
即可访问nginx服务器,