动态内容经过Ajax动态获取,也保持内容一致。php
###2.nginx 配置css
vi /etc/nginx/nginx.conf #注:proxy_temp_path和proxy_cache_path指定的路径必须在同一分区 proxy_temp_path /cache/proxy_temp_path; #设置Web缓存区名称为cache_one,内存缓存空间大小为200MB,1天没有被访问的内容自动清除,硬盘缓存空间大小为30GB。 proxy_cache_path /cach/proxy_cache_path levels=1:2 keys_zone=cache_one:200m inactive=5m max_size=30g;
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|js|css|html)$ { #若是后端的服务器返回50二、50四、执行超时等错误,自动将请求转发到upstream负载均衡池中的另外一台服务器,实现故障转移。 proxy_next_upstream http_502 http_504 error timeout invalid_header; proxy_cache cache_one; #进行缓存,使用Web缓存区cache_one proxy_cache_valid 200 304 5m; #对不一样的HTTP状态码设置不一样的缓存时间 proxy_cache_valid 301 302 1m; proxy_cache_valid any 1m; proxy_cache_key $host$uri$is_args$args; #以域名、URI、参数组合成Web缓存的Key值,Nginx根据Key值哈希,存储缓存内容到二级缓存目录内 proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $remote_addr; proxy_set_header Accept-Encoding "none"; #设定proxy_set_header Accept-Encoding '';(或是后台服务器关闭gzip),这样这台机器才不会缓存被压缩的文件,形成乱码 #proxy_set_header Accept-Encoding ""; 这个也可 proxy_ignore_headers "Cache-Control" "Expires"; #这段配置加上后,proxy_cache就能支持后台设定的expires。 if ( !-e $request_filename ) { proxy_pass http://emulsites; } expires 30m; } #php文件请求转发给后端 location ~ .*\.(php|cgi)?$ { 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_pass http://emulsites; }
sudo service nginx reload
访问页面,查看缓存目录是否生成缓存文件html