Nginx动静分离:轻松驾驭Web流量的终极利器!

本文介绍了如何在Nginx中实现动静分离,通过将静态资源和动态内容分开处理,减轻后端服务器压力,提高响应速度。通过实例演示了配置步骤,展示了动静分离的优势和Nginx作为高性能静态服务器的应用。
摘要由CSDN通过智能技术生成

点击下方关注我,然后右上角点击...“设为星标”,就能第一时间收到更新推送啦~~~

Nginx动静分离是一种优化Web服务器性能的策略,通过将静态资源(如图片、CSS文件)和动态内容(如数据库查询结果)分开处理,提高响应速度和并发处理能力。这种分离使得Nginx能够专注于处理静态请求,而动态请求则交给后端服务器处理,从而实现更高效的资源利用。

1

演示准备

d8f5c66d77290bc91f852bb2c72c5e94.png

静态资源:html,css,js,图片,xml,mp4等(不需要依赖Tomcat容器),可参考/data/program/nginx/conf/mime.types文件里的内容。

动态资源:jsp,servlet(需要tomcat容器)。

动静分离,就是将html,css,js等静态资源和jsp等动态资源分开部署,从而达到提高服务器响应速度,提高服务器性能的目的。

示例说明

依然以Tomcat1和Tomcat2服务器的首页为例,首先需要把静态资源从Tomcat服务器删掉,分别访问2台Tomcat服务器,发现网站的样式和图片没有了;通过代理服务器访问,也是一样的,样式和图片没有了;最后,我们把Tomcat的静态资源放到nginx的根目录的static_resource文件夹下,在location块里用正则匹配,做好动静分离的配置,重启nginx服务后,通过代理服务器IP访问,发现Tomcat首页可以正常访问。

准备阶段

1、我们在Tomcat1服务器/data/program/tomcat8/webapps/ROOT目录下新建static_resource,把静态资源拷贝到stataic_resource文件夹下,这样相当于静态资源删掉了,如下图:c50b3ce835249579f21c8d69b8040ca0.jpeg

2、我们在Tomcat2服务器/data/program/tomcat8/webapps/ROOT目录下新建static_resource,把静态资源拷贝到stataic_resource文件夹下,这样相当于静态资源删掉了,如下图:

e1bde65be6aa09516eab3b54287e7604.png

3、访问Tomcat1服务器,显示如下:

5f8a02560e76e8d04a9b305aea97ec0f.jpeg

4、访问Tomcat2服务器,显示如下:

fc5b64dcf95a3b38b7261276d26b7f25.jpeg

5、通过Nginx代理访问,显示如下

a3e4ed039f6e270f8b628538d7172c0d.jpeg

以上3个截图,说明css,图片等静态资源访问不到了。


下面通过动静分离技术,实现静态资源的访问。

2

Nginx动静分离演示

5aa52613b0802422a3793ac25f5cbf24.png

nginx动静分离配置

在Nginx的/data/program/nginx目录下新建static_resource文件夹,里面放Tomcat服务器的静态资源,如下图:21764be8b715a91948ecb382838e1660.png

修改Nginx的/data/program/nginx/conf/userconf/proxy.conf文件并保存,用正则来匹配js,css,图片等静态资源,不区分大小写

upstream tomcat8 {
    server 192.168.1.9:8080;
    server 192.168.1.10:8080;
}

server{
    listen 80;
    server_name localhostdomin;
    location / {
        proxy_pass http://tomcat8;
    }
    location ~* .+\.(js|css|png|svg|ico|jpg)$ {
        root static_resource;
        expires 1d;
    }
}

如下图:

73b256b6ecd350369c8b3e1b1ffae5d2.png

重启Nginx服务,通过Nginx代理访问,如下:

65ec662171f5e8d6113ad4f24fdf563b.jpeg

413641d837e3087f477a724a90cc3008.jpeg

两台Tomcat服务器的样式和图片能正常显示,说明Nginx的动静分离已经配置成功。

动静分离的优势

  1. 静态文件从后端服务器分离出来单独部署,可以减轻后端服务器的访问压力,同时Nginx是一个高性能的静态Web服务器,用它可以做静态资源服务器

  2. 静态文件一般变化不大,动静分离之后,可以对静态文件进行缓冲,以提高网站的性能。上面的location块配置中 [expires 1d;] 就是表示缓冲一天的时间。

  • 4
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值