nginx配置实例-动静分离

为了提高网站的响应速度,减轻程序服务器(Tomcat,Jboss等)的负载,对于静态资源比如图片,js,css等文件,我们可以在反向代理服务器中进行缓存,这样浏览器在请求一个静态资源时,代理服务器就可以直接处理,而不用将请求转发给后端服务器 。用户请求的动态文件比如servlet,jsp则转发给Tomcat,Jboss服务器处理,这就是动静分离 。这也是反向代理服务器的一个重要的作用 。

nginx配置实例-动静分离

文章插图
 
从目前的实现角度来说大致有两种:一种是把静态文件放在单独的服务器上,这是目前主流的方法;
一种就是动态文件和动态文件混合在一起发布,通过Nginx配置分开 。
通过location指定不同的后缀名实现不同的请求转发,通过expires参数设置,可以设置浏览器缓存过期时间,减少与服务器之间的请求和流量 。
具体Expires定义:是给资源设定一个过期时间,也就是说无需去服务器端验证,直接通过浏览器自身确定是否过期即可,所以不会产生额外的流量 。此方法非常适合不经常变动的资源(如果经常更新的文件,不建议使用Expires来缓存),我这里设置3d,表示在这3天之内访问这个URL,发送一个请求,比对服务器上该文件最后的更新时间没有变化,则不会从服务器抓取,返回状态码304,如果有修改,则之间从服务器上下载,返回状态码200 。
1、准备工作
(1)在linux系统上创建一个静态资源文件夹 。
mkdir -r /data/image
mkdir -r /data/www
(2)在imgae文件夹中放入图片,在www文件夹中放入html文件 。
2、具体配置
server {
listen 80;
server_name localhost;
location /www {
root /data;
index index.html;
}
location /image {
root /data;
autoindex on; #目录索引页
}
}
访问:http://ip地址/www/a.html
http://ip地址/image/1.jpg

【nginx配置实例-动静分离】


    推荐阅读