/ 中存储网

Nginx配置反向代理以及缓存的设置

2013-10-29 22:47:01 来源:ITJS.CN

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;

}

....

....

}

}