目的:缓存nginx服务器的静态文件。如css,js,htm,html,jpg,gif,png,flv,swf,这些文件都不是经常更新。便于缓存以减轻服务器的压力。
实现:nginx proxy_cache可以将用户的请缓存到本地一个目录,当下一个请求时可以直接调取缓存文件,就不用去后端服务器去取文件了。
配置:打开配置文件/usr/local/nginx/conf/nginx.conf
user www www;
worker_processes 2;
error_log /var/log/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 www.gangpao.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 /usr/local/nginx/logs/www.gangpao.com.log;
}
}
worker_processes 2;
error_log /var/log/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 www.gangpao.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 /usr/local/nginx/logs/www.gangpao.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缓存,能够实现高效的内容分发和管理,对于运行大型、高流量的网站至关重要。结合负载均衡、健康检查等其他特性,Nginx成为了一款全能的网络服务器解决方案。
nginx配置文件nginx.conf ,主要标记了nginx 的负载配置upstream,静态资源缓存,是否开启压缩
Nginx缓存服务器的配置主要在http块内进行。配置的关键在于proxy_cache_path指令,这个指令指定了磁盘上用于存储缓存数据的路径,以及用于缓存的元数据。 在配置Nginx作为缓存服务器时,需要注意磁盘IO瓶颈。大量的...
nginx以其高性能、稳定性、丰富的功能集、简单...希望以上关于nginx缓存及错误页面配置的知识点能够帮助到需要的朋友,如果大家在配置nginx过程中遇到任何问题,可以留言反馈,小编会尽力解答。感谢大家对本站的支持!
本文将详细解析两种Nginx的图片缓存配置方式:proxy_store模块和proxy_cache模块。 首先,proxy_store模块允许Nginx将从上游服务器获取的图片保存到本地磁盘,形成一个本地的静态文件缓存。以下是一个基本的proxy_...
本篇文章主要探讨了Nginx缓存Cache的配置方案以及如何处理相关的内存占用问题。 首先,我们来看两种传统的Nginx缓存配置方法: 1. **404错误重定向缓存** 这种方法通过将404错误页重定向到后端服务,并利用`proxy...
Nginx是一款高性能、轻量级的Web服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,以其稳定性高、性能出色、配置简单以及占用资源少等优点,在互联网行业中被广泛应用。其中,`nginx.conf`是Nginx的核心...
Nginx与Apache、Lighttpd或httpd相比,其守护进程的整体效率、配置选项的数量以及设置的简易性都是其独特之处。 具体到配置时,首先需要加载一些MIME类型包含文件,并实时压缩输出数据,设置Expires头以减少客户端...
Nginx提供了一个简单易用的方法来控制浏览器缓存的行为,也就是通过配置expires指令来实现。 expires指令是Nginx中用于控制HTTP响应头中“Expires”和“Cache-Control”字段的工具。这个指令可以让服务器告诉浏览器...
它以其稳定性、丰富的功能集、简单的配置文件和较低的内存消耗而闻名。 在配置文件中,`worker_processes auto;` 行指定了工作进程的数量,通常设置为服务器的 CPU 核心数。`error_log /var/log/nginx/error.log;` ...
这个配置可以作为基本的Windows环境下PHP和Nginx的搭建教程,但实际应用中可能需要根据项目需求进行更复杂的配置,比如添加SSL支持、负载均衡、缓存设置等。持续学习和理解Nginx和PHP的配置选项,可以帮助你更好地...
标题 "nginx TOMCAT 文件下载 上传 进度条 缓存" 涉及到的是在Web服务器场景中,如何利用Nginx和Tomcat处理文件的下载、上传以及实现进度条显示和缓存优化的技术点。下面将详细介绍这些内容。 1. **Nginx与Tomcat的...
- **缓存策略**:配置 Nginx 的缓存机制以加速响应。 通过以上内容,我们可以了解到 Nginx 在不同环境下的安装配置方法,以及 DNS 解析流程的重要性。同时,针对大型网站所需的高并发、高可用性等方面进行了探讨,...
nginx-缓存控制没有缓存清除模块的 Nginx 缓存控制插件部分代码是基于其他 Nginx Cache Plugins 的代码,但这是设计为简单、轻量级的实现== 具体.... == Mark Jaquith 提出了使用强制动态页面加载的标头的基本设计,...
假设你需要通过 Nginx 来反向代理后端端口为 8080 的 Tomcat 服务,以下是一个简单的配置示例: ```nginx server { listen 80; // 监听的端口号 server_name 192.168.0.238; // server 名称 # 设置代理相关的...
Nginx是一款广泛使用的高性能Web服务器和反向代理服务器,它以其出色的稳定性、丰富的功能集、简单的配置方式和较低的内存消耗而闻名。Nginx可以作为HTTP服务器处理静态文件、索引文件以及自动索引;同时,它也可以...
1. **基础配置**:在Nginx配置文件中,我们需要设置监听端口、日志路径等基本信息。例如: ``` server { listen 80; server_name leyoutest.com; # 替换为你的域名或IP access_log /var/log/nginx/leyou-manage...
下面是一个简单的Shell脚本示例,用于批量删除指定的Nginx缓存文件: ```bash #!/bin/sh # Auto Clean Nginx Cache Shell Scripts # 2013-06-12 wugk # Define Path CACHE_DIR=/data/www/proxy_cache_dir/ FILE="$*...