Nginx动静分离Demo

Nginx更多内容,参考:Nginx学习笔记

tomcat既可以处理动态资源(servlet、jsp等),又可以处理静态资源(html、css、js、图片等)。

静态资源可以交给nginx处理,减轻tomcat的压力,从而提高效率。

实现动静分离的两种方式:

1.把静态文件独立成单独的域名,放在独立的服务器上(主流)

2.动态文件和静态文件一起发布,通过nginx分开

通过location指定不同的后缀名实现不同的请求转发,通过expires参数设置浏览器缓存过期时间,减少与服务器之间的请求和流量,适合处理不经常变更的资源。

有缓存时,会对比服务器上的文件更新时间有没有变化,没变就不会从服务器抓取,返回状态码304,如果有变化,则从服务器重新下载,返回状态码200。


准备工作:创建存放静态资源目录,如下图

需求:服务器中的静态资源存放在/static/html和/static/image目录下,当浏览器请求静态资源时,nginx直接根据location配置找到对应路径下的静态资源,返回给浏览器,不需要经过tomcat

1.修改nginx.conf文件,重启nginx确保配置生效

[root@centos ~]# vi /usr/local/nginx/conf/nginx.conf
[root@centos ~]# /usr/local/nginx/sbin/nginx -s reload

2.浏览器访问

http://192.168.2.111/html/hello.html

http://192.168.2.111/image/

注:autoindex on;  列出文件夹中内容,不加这个的话http://192.168.2.111/image/无法访问,可以访问http://192.168.2.111/image/nginx.png

http://192.168.2.111/image/nginx.png


设置缓存过期时间

如下图,设置过期时间1min

首次请求,返回200;存在缓存时,返回304

文件变更后,重新从nginx下载,返回200

继续请求,继续从缓存查找,返回304

 

posted on 2020-03-24 22:05  从零开始2020  阅读(324)  评论(0编辑  收藏  举报