目的:缓存nginx服务器的静态文件。如css,js,htm,html,jpg,gif,png,flv,swf,这些文件都不是经常更新。便于缓存以减轻服务器的压力。
实现: nginxproxy_cache可以将用户的请缓存到本地一个目录,当下一个请求时可以直接调取缓存文件,就不用去后端服务器去取文件了。
配置: 打开配置文件/etc/nginx/nginx.conf
user www www;
worker_processes 2;
error_log /var/log/nginx/nginx_error.log crit;
worker_rlimit_nofile 65535;
events
{
use epoll;
worker_connections 65535;
}
http
{
include mime.types;
default_type application/octet-stream;
server_names_hash_bucket_size 128;
client_header_buffer_size 32k;
large_client_header_buffers 4 32k;
client_max_body_size 8m;
sendfile on;
tcp_nopush on;
keepalive_timeout 0;
tcp_nodelay on;
fastcgi_connect_timeout 300;
fastcgi_send_timeout 300;
fastcgi_read_timeout 300;
fastcgi_buffer_size 64k;
fastcgi_buffers 4 64k;
fastcgi_busy_buffers_size 128k;
fastcgi_temp_file_write_size 128k;
##cache##
proxy_connect_timeout 5;
proxy_read_timeout 60;
proxy_send_timeout 5;
proxy_buffer_size 16k;
proxy_buffers 4 64k;
proxy_busy_buffers_size 128k;
proxy_temp_file_write_size 128k;
proxy_temp_path /home/temp_dir;
proxy_cache_path /home/cache levels=1:2keys_zone=cache_one:200m inactive=1d max_size=30g;
##end##
gzip on;
gzip_min_length 1k;
gzip_buffers 4 8k;
gzip_http_version 1.1;
gzip_types text/plain application/x-javascript text/css application/xml;
gzip_disable "MSIE [1-6]\.";
log_format access '$remote_addr - $remote_user [$time_local]"$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" $http_x_forwarded_for';
upstream appserver {
server 192.168.1.251;
}
server {
listen 80 default;
server_name blog.slogra.com;
location~ .*\.(gif|jpg|png|htm|html|css|js|flv|ico|swf)(.*) {
proxy_pass http://appserver ;
proxy_redirect off;
proxy_set_header Host $host;
proxy_cache cache_one;
proxy_cache_valid 200 302 1h;
proxy_cache_valid 301 1d;
proxy_cache_valid any 1m;
expires 30d;
}
location ~ .*\.(php)(.*){
proxy_pass http://appserver ;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For$proxy_add_x_forwarded_for;
}
access_log /var/log/nginx/blog.slogra.com.log;
}
}
红色部分是配置缓存的参数。
说明:
1、http段设置。
proxy_temp_path /home/temp_dir;设置临时目录
proxy_cache_path /home/cache levels=1:2 keys_zone=cache_one:200minactive=1dmax_size=30g;设置缓存目录为二级目录,共享内存区大小,非活动时 间,最大容量,注意临时目录要跟缓存目录在同一个分区。
2、server段设置
请求静态文件设置。
proxy_cache cache_one;设置缓存共享内存区块,也就是keys_zone名称。
proxy_cache_valid 200 302 1h;设置http状态码为200,302缓存时间为1小时。
expires 30d;设置失期时间,为30天
请求动态文件设置。
proxy_pass http://appserver ;不进行缓存,直接转到后端服务器。
测试: 当客户端发起http请求时在服务器上会产一个缓存文件如
/home/cache/0/b9/8bd841b1c44ee5b91457eb561e44eb90
OK
相关推荐
标题 "nginx访问静态文件不下载" 暗示了用户可能遇到了在使用Nginx服务器时,尝试访问静态文件(如HTML、CSS、JavaScript或图片等)却导致浏览器下载文件而不是正常显示的情况。Nginx是一款高性能的HTTP和反向代理...
这篇教程说明你应该怎样配置 nginx、设置 HTTP 头部过期时间,用 Cache-Control 中的 max-age 标记为静态文件(比如图片、 CSS 和 Javascript 文件)设置一个时间,这样用户的浏览器就会缓存这些文件。这样能节省...
本文将深入探讨如何配置Nginx来发布前端静态文件,这通常是Web应用程序的HTML、CSS、JavaScript和其他资源。 首先,了解基本的Nginx配置结构至关重要。Nginx的配置文件通常位于`/etc/nginx/nginx.conf`,但也可以...
- **静态文件托管**:为前端开发提供静态资源服务,如CSS、JS文件,开发者可以直接引用URL进行调试。 - **API文档**:将API文档作为HTML文件存储在服务器上,通过Nginx映射提供在线查看服务。 - **日志查看**:将...
因为静态文件(比如css,js, 图片)中,很多都是不经常更新的。nginx使用proxy_cache将用户的请求缓存到本地一个目录。下一个相同请求可以直接调取缓存文件,就不用去请求服务器了。 毕竟,IO密集型服务的处理是...
它不仅可以作为静态文件服务器,处理 HTML、CSS、JavaScript 等资源的下载请求,还可以作为动态内容的代理,将请求转发给后端的 PHP、Java 等应用服务器。在本篇中,我们将深入探讨 Nginx 如何配置来实现文件资源的...
Nginx处理静态资源(如图片、CSS、JavaScript等)非常高效,常用于作为静态文件服务器。以下是一个基本的静态文件代理配置示例: ```nginx location /static/ { root /var/www/html; index index.html index.htm;...
4. **使用Nginx或Apache反向代理**:另一种常见策略是将静态文件托管在一个高性能的Web服务器(如Nginx或Apache)上,然后通过Java应用服务器(如Tomcat)反向代理请求。这样,静态文件请求可以被高效地处理,而Java...
这是因为Tomcat在更新应用时,会重新加载Web应用目录下的文件,而在这个过程中,静态资源文件如JavaScript、CSS、图片等可能会在短暂的时间内不可用,导致用户请求无法正常处理。这个问题对于开发环境尤其明显,因为...
在本文中,我们将介绍使用 Spring Boot 的缓存机制来缓存静态文件,从而提高页面加载速度。 一、静态文件缓存处理的必要性 当我们在 PC 上访问 Web 项目时,静态文件的加载速度影响不大,但是当在移动设备上访问时...
此外,Nginx还支持缓存静态资源,进一步优化性能。在`location`块中添加`proxy_cache`指令,可以将响应结果存储在缓存中,下次相同请求可以直接从缓存返回,减少对后端服务器的压力: ```nginx location ~* \.(jpg|...
除此之外,Nginx还支持静态文件服务,如HTML、CSS、JavaScript、图片等。只需将静态文件放置在指定的根目录下,并在配置文件中指明即可。例如: ```conf http { server { listen 80; server_name static.example...
3. **静态文件服务**:Nginx 在处理静态资源如 HTML、CSS、JavaScript 文件时非常高效,减少了对后端动态服务器的压力。 4. **URL 转发与重写**:通过配置 Nginx 配置文件,可以实现 URL 的转发和重写,这对于网站...
1. **静态文件服务**:Nginx 能够高效地处理静态文件(如 HTML、CSS、JavaScript、图片等),这是其作为文件下载服务器的基础。通过配置 Nginx,可以设置特定的目录供用户下载所需文件。 2. **反向代理**:Nginx ...
3. **合并和缩小CSS/JS文件**:将多个CSS或JavaScript文件合并为一个文件,可以减少HTTP请求的数量,同时压缩文件内容,进一步提升加载速度。 4. **使用HTTP2**:HTTP2协议支持多路复用,可以同时处理多个请求,...
- **静态资源处理**:Nginx在处理静态文件如HTML、CSS、JavaScript等时表现出色,了解如何配置Nginx来优化静态文件的缓存和分发。 3. **反向代理** - **代理设置**:掌握如何配置Nginx作为反向代理,将请求转发到...
### WIN下Nginx缓存加速配置方法 在Windows环境下配置Nginx进行缓存加速是一种常见的优化方式,尤其对于需要频繁访问静态资源的应用场景来说,可以显著提高响应速度、减轻后端服务器的压力以及降低带宽消耗。下面将...