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;
}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值