最近有个SSH项目,需要进行动静分离优化,做了jvm优化仍然存在一些问题,需要继续减轻tomcat的压力,现把静态文件放到nginx下,这样访问的时候,tomcat只处理数据请求的链接,而js、css、jpg,png等静态资源,由nginx负责直接返回,于是做了如下配置:
//指向静态资源的位置
root E:/java/tomcat/wxactivi/wx_at/webapps;
upstream site{
server 10.187.227.221:9095;
server 10.187.227.221:9096;
}
server {
listen 9091;
server_name localhost;
location ~ .*\.(?:jpg|jpeg|gif|png|ico|cur|gz|svg|svgz|mp4|ogg|ogv|webm)${
expires 7d;
}
location ~ .*\.(?:js|css)${
expires 7d;
}
location ~ .*\.(?:htm|html)${
add_header Cache-Control "private, no-store, no-cache, must-revalidate, proxy-revalidate";
}
#配置Nginx动静分离,定义的静态页面直接从Nginx发布目录读取。
location ~ .*\.(html|htm|gif|jpg|jpeg|bmp|png|ico|txt|js|css)$ {
#expires定义用户浏览器缓存的时间为7天,如果静态页面不常更新,可以设置更长,这样可以节省带宽和缓解服务器的压力
expires 7d;
}
location ~ ^/(WEB-INF)/ {#这个很重要,不然用户就可以访问了
deny all;
}
//转发
location /ods/ {
proxy_pass http://site/ods/;
index index.html index.htm;
}
}