为什么 动态资源 和 静态资源分离
jsp等动态内容交由tomcat处理,nginx转发请求
静态资源文件(html、css、js、图片等)由nginx处理,速度更快。
如果静态资源也由tomcat处理,给tomcat带来不必要的负担,而且速度慢;而且nginx转发请求,显然增添不必要的步骤,速度更慢
配置
在server增加代码如下:
#优先级低,凡是不满足下面的,都执行这个
location / {
proxy_pass http://tomcat1;
proxy_connect_timeout 2;
}
#图片缓存7天
location ~ .*\.(png|gif|ico|jpg|jpeg|eot|svg|svgz|mp4|ogg|ogv|webm|ttf|woff)$ {
root F:\apache-tomcat-web\ROOT;
expires 7d;
}
#js、css缓存7天
location ~ .*\.(js|css)$ {
root F:\apache-tomcat-web\ROOT;
expires 7d;
}
#html不缓存
location ~ .*\.(htm|html)$ {
root F:\apache-tomcat-web\ROOT;
add_header Cache-Control "private, no-store, no-cache, must-revalidate, proxy-revalidate";
}
执行重新加载配置文件命令:
nginx -s reload
注意:在地址栏中输入http://localhost 会报404错误,要输入全部路径http://localhost/index.jsp
验证静态资源由nginx处理
关闭tomcat后,直接访问静态资源文件,如果能访问到,就说明nginx的静态文件分离是可行的
