Nginx (六) ---------- 静态代理


一、介绍

把所有静态资源的访问改为访问 nginx,而不是访问 tomcat,这种方式叫静态代理。

因为 nginx 更擅长于静态资源的处理,性能更好,效率更高,所以在实际应用中,我们将静态资源比如图片、css、html、js 等交给nginx处理,而不是由 tomcat 处理。

在这里插入图片描述

二、Nginx 静态代理实现方式

1. 方式一

在 nginx.conf 的 location 中配置静态资源的后缀

例如 :当访问静态资源,则从 linux 服务器 /opt/static 目录下获取

location ~ .*\.(js|css|htm|html|gif|jpg|jpeg|png|bmp|swf|ioc|rar|zip|txt|flv|mid|doc|ppt|pdf|xls|mp3|wma)$ {
    root /opt/static;
}

说明 :

  • ~ 表示正则匹配,也就是说后面的内容可以是正则表达式匹配
  • 第一个点 . 表示任意字符
  • *表示一个或多个字符
  • \. 是转移字符,是后面这个点的转移字符
  • | 表示或者
  • $ 表示结尾

整个配置表示以 . 后面括号里面的这些后缀结尾的文件都由 nginx 处理,放置静态资源的目录,要注意一下目录权限问题,如果权限不足,给目录赋予权限,否则会出现403错误

修改权限 :chmod 755

2. 方式二

在 nginx.conf 的location中配置静态资源所在目录实现

location ~ .*/(css|js|img|images) {
    root   /opt/static;
}

匹配的是 :

xxx/css
xxx/js
xxx/img
xxx/images

我们将静态资源放入 /opt/static 目录下,然后用户访问时由 nginx 返回这些静态资源

三、案例

我们先通过 nginx 访问上一篇文章 myweb 项目中的图片

修改 nginx.conf 文件,在 location 中配置对静态资源的拦截,如果是静态资源,就交给

nginx 处理。

在这里插入图片描述
启动 nginx

在这里插入图片描述
浏览器访问 nginx 服务器,进行测试,发现图片无法加载,如图片加载可能是浏览器缓存的问题。

在这里插入图片描述

因为我们在 nginx 中配置了对 .jpg 的拦截,所以请求会交给 nginx 服务器进行处理。
根据 ip + port 等于 root 的原则,我们会去 /opt/static/myweb 目录下找资源,所以在 /opt/static 下创建 myweb 目录,并放入 image 目录及图片,为了和 tomcat 上的图片区分,我们这里图片的内容发生了变化。

在这里插入图片描述
浏览器访问 nginx 访问器,进行测试 ,图片访问正常,而且访问的是 nginx 上的图片。

在这里插入图片描述
将 nginx.conf 中的 location 拦截方式修改为拦截静态文件目录的方式、

在这里插入图片描述
重启nginx服务器,通过浏览器访问nginx服务器,进行测试,访问正常,但是访问的是tomcat 服务器下的图片

在这里插入图片描述

因为我们配置的拦截的目录为 /images,请求的图片目录是 /image,这样拦截不到。
但是反过来,如果我们配置拦截的目录为 /imag,请求的图片目录为 /image,这样可以拦截到。所有我们需要将 location 的 /images 修改为 /image。所以一般我们用方式一,匹配静态资源后缀的方式更好一下,防止 js 拦截 jsp 目录。

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

在森林中麋了鹿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值