nginx静态资源分离(ubuntu)

为什么 动态资源 和 静态资源分离

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的静态文件分离是可行的

缓存静态资源文件

http://www.malaoshi.top/show_1EF21zT5XFZ4.html