1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
| user www www;
worker_processes 1;
error_log /usr/local/nginx/logs/nginx_error.log crit;
pid /usr/local/nginx/nginx.pid;
events {
use epoll;
worker_connections 65535;
}
http {
include mime.types;
default_type application/octet-stream;
charset utf-8;
server_names_hash_bucket_size 128;
client_header_buffer_size 32k;
large_client_header_buffers 4 64k;
client_max_body_size 300m;
sendfile on;
tcp_nopush on;
keepalive_timeout 65;
tcp_nodelay on;
client_body_buffer_size 128k;
proxy_connect_timeout 5;
proxy_read_timeout 60;
proxy_send_timeout 5;
proxy_buffer_size 16k;
proxy_buffers 4 64k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;
gzip on;
gzip_min_length 1k;
gzip_buffers 4 16k;
gzip_http_version 1.1;
gzip_types text/plainapplication/x-javascript text/css application/xml;
proxy_cache_path /backup/proxy_cache_dir levels=1:2 keys_zone=cache_one:4096m
inactive=1d max_size=3g;
#proxy_cache_path:设置缓存的目录,后面跟缓存路径,最好缓存目录放在一个独立硬盘
#levels=1:2 设置目录深度,这里是两层目录深度,第一层是一个字符,第二层是两个字符
#keys_zone设置web缓存区名称,这里是cache_one,后面的4096m表示内存缓存空间大小为4GB
#inactive表示自动清除缓存文件的时间,1d表示一台内没有被访问的内容自动清除
#max_size表示硬盘缓存空间可以使用的最大值,默认情况下经访问的文件常放在内存中缓存,当内存缓存空间不足的时候,Nginx会将不经常访问的数据从内存写到磁盘
server {
listen 80;
server_name www.a.com www.b.com ;
charset UTF8;
#access_log logs/host.access.log main;
location / {
proxy_cache cache_one;#反向代理缓存设置命令,语法为:"proxy_cache zone|off"
proxy_cache_valid 200 300 12h;#对不同的HTTP状态码设置不同的缓存时间
proxy_cache_key $host$uri$is_args$args;#设置以什么样的参数得到缓存
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_pass http://127.0.0.1:8080;
expires 1d;
}
#下面这段用于配置手动清除缓存策略,清除的方法为:如果一个URL为
#http://www.a.com/2014/0413/3.html,那么通过访问
#http://www.b.com/purge/2014/0413/3.html即可清除该URL的缓存
location ~ /purge/(/.*)
{
allow 127.0.0.1;#表示允许指定的IP或者IP段才可以清除URL缓存
allow 192.168.88.0/24;
deny all;
proxy_cache_purge cache_one $host$1$is_args$args;
}
location ~ .*\.(jsp|php|jspx)?$ #设置不做缓存的内容
{
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_pass http://127.0.0.1:8080;
}
access_log off;
}
}
|