`
一笑_奈何
  • 浏览: 68814 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

nginx 缓存静态资源

阅读更多
  最近一直在用nginx来做静态资源的缓存,这是在网上查找了一下资料发现tomcat处理图片的能力相对于nginx稍显较弱。一般来说tomcat只能够处理300-500个请求但是超过500个请求之后jvm就会抛出异常导致tomcat无法正常运行,而nginx可以处理到30000-50000个请求所以我希望当请求控制层或者编译jsp这些就交由tomcat处理,而网站的静态资源则交由nginx处理。我把我的nginx配置发布出来分享给大家,由于是初学如果有更好的配置希望大家不灵赐教。
#运行用户
#user  Techology-04;
#启动进程,通常设置成和cpu的数量相等
worker_processes  1;

#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#pid        logs/nginx.pid;


events {
    worker_connections  1024;#单个worker process进程的最大并发链接数
}

#设定http服务器,利用它的反向代理功能提供负载均衡支持
http {
	 #设定mime类型,类型由mime.type文件定义
    include       mime.types;
    default_type  application/octet-stream;

    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';
	#设定日志格式
    access_log  logs/access.log;
	#sendfile 指令指定 nginx 是否调用 sendfile 函数(zero copy 方式)来输出文件,对于普通应用,
    #必须设为 on,如果用来进行下载等应用磁盘IO重负载应用,可设置为 off,以平衡磁盘与网络I/O处理速度,降低系统的uptime.
    sendfile        on;
    #tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  65;
	
    
	#开启gzip
	gzip  on;
	gzip_disable "MSIE [1-6]\.(?!.*SV1)";
		
	#设置请求缓冲
	client_header_buffer_size 1k;
	large_client_header_buffers 4 4k;
	#设定负载均衡的服务器列表
	upstream localhost{
		server 10.0.0.34:8810 weight=10;#这里指定代理的服务器的url
		#ip_hash;  
	}
	
    server {
		#定义端口80为坚挺端口
        listen       80;
		#server_name是使用指定真实服务器名
        server_name  10.0.0.34;
		#设定本虚拟主机的访问日志
        access_log  logs/rh.log;
		if ($request_uri = '/') {
			rewrite . /index.do break;#这里重定向至index.do
		}
		#location 用于定位资源
		location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ {
			expires 7d;
			#里面配置了root这时表示当匹配这个请求的路径时,将会在这个文件夹内寻找相应的文件,这里对我们之后的静态文
			#件伺服很有用
			root F:/data/photos; 
			proxy_store on;
            proxy_store_access user:rw group:rw all:rw;
			proxy_temp_path F:/data/photos;
			include proxy.conf;
			if ( !-e $request_filename) { #正则表达式去判断匹配缓存文件是否存在,不存在则访问服务器
				proxy_pass http://localhost;
			}
		}
		
		location ~ .*\.(js|css|html)$ {
			expires 7d;
			#里面配置了root这时表示当匹配这个请求的路径时,将会在这个文件夹内寻找相应的文件,这里对我们之后的静态文
			#件伺服很有用
			root F:/data/cache; 
			proxy_store on;
            proxy_store_access user:rw group:rw all:rw;
			proxy_temp_path F:/data/cache;
			include proxy.conf;
			if ( !-e $request_filename) { #正则表达式去判断匹配缓存文件是否存在,不存在则访问服务器
				proxy_pass http://localhost;
			}
		}
		
        location ~ .*\.(jsp|do)$ {    
            proxy_pass  http://localhost;#这里和upstream localhost的配置一样的
        }
		
  
        # redirect server error pages to the static page /50x.html
        #
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
}
分享到:
评论

相关推荐

    nginx静态文件缓存的解决方案1

    为了进一步提高静态资源的访问效率,我们可以利用 Nginx 的缓存功能。下面详细介绍如何实现 Nginx 静态文件缓存的三个步骤。 ### 第一步:配置 HTTP 级别的缓存 在 `nginx.conf` 文件中,我们需要添加如下配置以...

    nginx访问静态文件不下载.rar

    - 配置防盗链策略,防止其他网站通过引用你的静态资源,增加服务器负担。可以使用`valid_referers`指令实现。 - 限制对敏感静态文件的访问,如`.htaccess`、`config.json`等,通过`deny all;`阻止所有访问。 6. *...

    nginx反向代理、均衡负载、缓存静态资源、URL重定向、读写分离.zip

    nginx反向代理、负载均衡、缓存静态资源、URL重定向、读写分离.zip

    nginx缓存不起作用问题解决方法

    这个指令用于指定资源的过期时间,如果该时间早于当前时间,则表明该资源已经过期,nginx缓存服务器也不会对资源进行缓存。 当遇到nginx缓存不生效的情况时,可以采取以下两种解决方案: 方法一:修改源服务器web...

    nginx简单的负载,缓存静态文件配置

    nginx配置文件nginx.conf ,主要标记了nginx 的负载配置upstream,静态资源缓存,是否开启压缩

    Nginx配置http转https以及https访问http静态资源.docx

    Nginx配置http转https以及https访问http静态资源需要配置SSL证书、SSL会话缓存、rewrite规则、location块、add_header指令、proxy_pass指令等。通过正确的配置,Nginx可以提供安全、稳定、高性能的Web服务器服务。

    如何在nginx中配置缓存静态文件

    这篇教程说明你应该怎样配置 nginx、设置 HTTP 头部过期时间,用 Cache-Control 中的 max-age 标记为静态文件(比如图片、 CSS 和 Javascript 文件)设置一个时间,这样用户的浏览器就会缓存这些文件。这样能节省...

    nginx 伪静态 重定向

    ### Nginx 伪静态与重定向:深入解析与应用实例 #### 1. 引言 在现代网站开发与维护中,面对网页目录结构变动、网页重命名、扩展名改变或是网站域名变更等场景,如何高效处理这些变化,确保用户体验不受影响,同时...

    Nginx 性能优化实践1

    通过Nginx缓存静态资源(如HTML、图片、CSS、JS),可以降低对后端服务的请求频率,提高整体性能。 2. Nginx 静态缓存基本配置:Nginx可以通过`proxy_cache`指令启用缓存。例如,可以创建一个名为`static_cache`的...

    nginx静态缓存插件ngx_slowfs_cache.zip

    ngx_slowfs_cache 是 nginx 模块,允许缓存静态文件(使用 root 指令管理)。 这使得能够为存储在慢文件系统上的文件创建快速缓存。当缓存放置在与原点相同的速度磁盘上时,使用此模块没有意义。配置示例:http { ...

    nginx_installSrv.rar

    2. 使用缓存:通过配置Nginx缓存静态资源,减轻服务器压力,提高响应速度。 3. 防火墙配置:通过防火墙规则限制不必要的入站流量,增强服务器安全性。 总结,Nginx的安装和配置涉及到多个层面,包括基础安装、...

    cpp-Nginx静态资源重定向模块

    在C++编程环境下,我们可以为Nginx开发自定义模块来扩展其功能,例如"cpp-Nginx静态资源重定向模块"就是一个这样的例子。这个模块旨在优化网站性能,通过重写静态资源(如CSS、JavaScript和图片)的URL,将请求转发...

    使用nginx缓存服务器上静态文件的设置方法

    # 浏览器缓存静态文件的有效期为90天 add_header Cache-Control "public"; # 设置额外的HTTP头,指示缓存可以被存储和共享 } ``` 需要注意的是,Nginx的缓存策略允许我们为不同类型的响应码和文件类型定义不同的...

    使用 Nginx 部署静态页面的方法

    它具备处理静态文件、索引文件以及自动索引,无缓存的反向代理加速,简单的负载均衡和容错等功能。Nginx还具备模块化的结构,如gzipping,byteranges,chunkedresponses,以及SSI-filter等filter。此外,Nginx还支持SSL...

    基于nginx的静态网页部署的实现

    创建站点根目录并将静态资源文件放置其中;利用location指令针对不同的请求提供不同的服务。静态网页部署完成后,可以利用Nginx提供的日志分析工具进行性能监控和分析,以便持续优化Web服务的性能。

    nginx发布前端静态文件配置

    可以通过设置HTTP响应头来控制浏览器缓存静态资源,例如: ```nginx location ~* \.(jpg|jpeg|png|gif|ico|css|js)$ { expires 1y; add_header Cache-Control "public"; } ``` 这将设置一年的有效期,并告知...

    SpringMVC访问静态资源

    总结来说,Spring MVC提供了多种方式来管理和优化静态资源的访问,包括自定义静态资源路径、缓存控制、避免与控制器冲突以及性能优化。通过灵活的配置,开发者可以根据项目需求来定制最佳的静态资源处理策略。

    Nginx搭建图片服务器(静态资源缓存服务器).zip

    在本教程中,我们将探讨如何利用Nginx搭建一个专门用于处理图片的静态资源缓存服务器。这个过程主要包括Nginx的安装、配置以及设置缓存策略,以提高图片加载速度和服务器性能。 首先,为了安装Nginx,我们需要在...

Global site tag (gtag.js) - Google Analytics