目的: 缓存nginx服务器的静态文件。如css,js,htm,html,jpg,gif,png,flv,swf,这些文件都不是经常更新。便于缓存以减轻服务器的压力。
实现: nginx proxy_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:2 keys_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:200m inactive=1d max_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 是一款高性能的 HTTP 和反向代理服务器,常用于处理静态资源,以减轻后端服务器的压力。为了进一步提高静态资源的访问效率,我们可以利用 Nginx 的缓存功能。下面详细介绍...
- Nginx可以通过设置缓存策略来提高静态文件的访问速度。例如,可以使用`expires`指令设置缓存过期时间,`add_header Cache-Control max-age=31536000;`表示一年内可缓存。 - 使用`gzip`压缩静态资源,减少传输...
nginx配置文件nginx.conf ,主要标记了nginx 的负载配置upstream,静态资源缓存,是否开启压缩
这篇教程说明你应该怎样配置 nginx、设置 HTTP 头部过期时间,用 Cache-Control 中的 max-age 标记为静态文件(比如图片、 CSS 和 Javascript 文件)设置一个时间,这样用户的浏览器就会缓存这些文件。这样能节省...
ngx_slowfs_cache 是 nginx 模块,允许缓存静态文件(使用 root 指令管理)。 这使得能够为存储在慢文件系统上的文件...}清理缓存需要借助插件 ngx_cache_purge 使用案例:nginx扩展模型ngx_slowfs_cache本地静态缓存
以上就是关于Nginx发布前端静态文件的基本配置。理解并熟练掌握这些配置,将有助于构建高效、可靠的Web服务。不过,实际部署时还需要根据具体需求进行调整,例如SSL/TLS证书配置、访问日志记录等。在实践中不断学习...
下一个相同请求可以直接调取缓存文件,就不用去请求服务器了。 毕竟,IO密集型服务的处理是nginx的强项。 二、如何进行设置 先上个栗子: http{ proxy_connect_timeout 10; proxy_read_timeout 180; proxy_send_...
### Nginx 伪静态与重定向:深入解析与应用实例 #### 1. 引言 在现代网站开发与维护中,面对网页目录结构变动、网页重命名、扩展名改变或是网站域名变更等场景,如何高效处理这些变化,确保用户体验不受影响,同时...
标题 "nginx TOMCAT 文件下载 上传 进度条 缓存" 涉及到的是在Web服务器场景中,如何利用Nginx和Tomcat处理文件的下载、上传以及实现进度条显示和缓存优化的技术点。下面将详细介绍这些内容。 1. **Nginx与Tomcat的...
优化Nginx静态文件服务的方法包括: 1. **缓存控制**:通过设置HTTP响应头中的 `Cache-Control` 和 `Expires`,可以让浏览器缓存静态资源,减少不必要的网络传输,提高页面加载速度。 2. **压缩输出**:启用Gzip...
如果不差钱的公司可以将静态文件放在 CDN 上来加快访问速度,或者用 Nginx 来做静态文件的缓存。 二、使用 Spring Boot 缓存机制来缓存静态文件 在 Spring Boot 中配置静态文件缓存只需要在配置文件中加入以下配置...
如果二次请求命中了该缓存文件,则Nginx会直接将该文件中的“HTTP返回包体”返回给用户。 如果我的请求中包含Range头,Nginx将会根据我指定的start和end位置,返回指定长度的内容。而如果我构造了两个负的位置,如...
Nginx擅长处理静态文件请求,可以高效地进行文件传输,因此在静态资源服务方面表现出色。 ### 2. 实现本地文件映射的步骤 #### 2.1 安装Nginx 首先,你需要在你的服务器上安装Nginx。在Ubuntu或Debian系统中,...
【Nginx 文件资源下载详解】 ...总结,Nginx 不仅能提供高效的静态文件服务,还能实现文件资源的便捷下载,是构建高性能下载站点的理想选择。通过灵活配置,我们可以满足各种场景下的文件服务需求。
总结起来,NGINX的反向代理和缓存功能可以帮助我们有效地管理流量,减轻后端服务器的负担,同时通过缓存静态内容来显著提高网站的加载速度。正确配置这些设置,即使在资源有限的情况下,也能实现高性能的网站服务。...
可以通过在nginx配置文件中添加特定的配置指令来强制nginx忽略某些响应头,这样即使源服务器返回了禁止缓存的指令,nginx也会忽略它们并进行缓存。具体操作如下: 在nginx的配置文件(通常是nginx.conf或者对应站点...
Nginx处理静态资源(如图片、CSS、JavaScript等)非常高效,常用于作为静态文件服务器。以下是一个基本的静态文件代理配置示例: ```nginx location /static/ { root /var/www/html; index index.html index.htm;...
在这个配置中,我们创建了一个名为`my_cache`的缓存区域,设置了缓存文件的存储路径和过期策略。对于图片请求,我们使用正则表达式匹配文件扩展名,并设置了缓存控制头,使浏览器能够缓存图片。如果后端服务器存在,...