nginx配置代理缓存

nginx可以实现反向代理的配置,并且可以使用缓存来加速,本文是简单的实现功能的配置,暂时没有做其他的优化的部分的配置,从网上的资料来看,很多配置都是没有讲哪些是必须配置的,我自己在配置过程中就发现没有生成缓存文件,下面来记录下配置的内容

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
upstream test{
server 127.0.0.1:8080;
}

proxy_cache_path /var/cache/nginx/proxy_cache keys_zone=cache_zone:2000m max_size=1000m;

server {
listen 80;
server_name localhost;
location / {
proxy_pass http://127.0.0.1:8080;
proxy_cache cache_zone;
proxy_cache_valid 200 304 302 24h;
}

error_page 500 502 503 504 /50x.html;

location = /50x.html {
root /usr/share/nginx/html;
}
}

以上为我的配置文件,说明:

1
2
3
upstream test{
server 127.0.0.1:8080;
}

这个字段是配置代理的部分,这个配置没有做多机的配置,只是将本机的nginx的80端口配置到了apache的8080端口,

1
proxy_cache_path /var/cache/nginx/proxy_cache keys_zone=cache_zone:2000m max_size=1000m;

这个是配置缓存的放置的路径的,这个路径最好是跟proxy_temp在一个分区上,后面是写得名称,共享内存大小,缓存的最大值

1
2
3
4
5
location / {
proxy_pass http://127.0.0.1:8080;
proxy_cache cache_zone;
proxy_cache_valid 200 304 302 24h;
}

这个是缓存的关键配置,proxy_pass是将请求转发到你要代理的机器上,proxy_cache是指明使用的规则,上面的keys_zone,下面的proxy_cache_valid是配置允许缓存的请求,这个地方不配置就无法生成缓存的文件,

到这里基本的代理缓存就配置成功了,可以通过访问来检查是否生成了缓存文件,下载检查下是否web直接将请求返回了前端