A服务器:192.168.0.1 (前端代理服务器)
B服务器:192.168.0.2(后端主服务器)
原理:用户访问一个www.xx.com域名,DNS指向代理服务器A,代理服务器根据域名本地查找有没有记录,如果有直接返回信息,没有,则将请求发给后端主服务器,后端服务器处理完将数据发给代理服务器,代理服务器将数据发给客户端。
代理服务器A:nginx.conf配置
http {
....
client_header_buffer_size 128k; #防止cookie过期,不能访问
proxy_temp_path /dev/shm/homebase;
proxy_cache_path /dev/shm/homebase_cache levels=1:2 keys_zone=cache:200m inactive=1d max_size=500m;
注:
proxy_temp_path proxy_cache_path 需在同一分区
proxy_temp_path /dev/shm/?? 将文件放到内存中
proxy_temp_path /data/cache/?? 将文件放到目录中
keys_zone=cache 设置缓存区名称
keys_zone=cache:200m 设置缓存区的大小
inactive=1d 有效期 1d 1天 ,1h 1小时
max_size=500m; 设置最大大小
server {....
location / {
proxy_pass 192.168.0.2; 指定主服务器的ip地址
proxy_cache cache; 缓存区名称
proxy_cache_valid 200 304 12h;
proxy_cache_key $host$uri$is_args$args;
expires 1d;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Is-EDU 0;
}
....
....
}
}