Nginx学习之静态代理与动静分离

静态代理
把所有的静态资源的访问由访问tomcat改为访问nginx
因为nginx更擅长处理静态资源,相比tomcat,nginx的性能更好,效率更高

所以在实际应用中,我们将静态资源比如图片、css、js等交给nginx处理



那么,Nginx静态代理如何实现?
通过在Nginx的nginx.conf文件进行配置即可实现
方式一:(根据静态资源的格式/后缀名进行拦截)
当访问静态资源的时候,从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;
}
注意:放置静态资源的目录,要注意目录权限,如果权限不足,要给目录赋予权限;
关于location后面的字符串
1、~ 表示正则匹配,也就是说后面的内容可以是正则表达式匹配;
2、第一个点 . 表示任意字符;
3、* 表示一个或多个字符;
(.*表示一个或多个任意字符,这里匹配文件名)
4、\. 是转移字符,是后面这个点的转移字符;
5、| 表示或者
6、$ 表示结尾
整个配置表示以 .后面括号里面的这些后缀结尾的文件都由nginx处理;
方式二:(根据静态资源所在的目录进行拦截)
location ~ .*/(css|js|img|images) {
      root   /opt/static;
}
我们将静态资源放入 /opt/static 目录下,然后用户访问时由nginx返回这些静态资源;


动静结合(动静分离)
动静结合是实际应用中常见的一种场景,主要是为了实现动静分离;
动态资源,如jsp、servlet等由tomcat或其他web服务器完成;
静态资源,如图片、css、js等由nginx或其他http服务器完成;
动静结合充分利用了它们各自的优势,从而达到更高效合理的架构;


示例
负载均衡Nginx配置:
upstream www.myweb.com { 
      server  127.0.0.1:9100 weight=5; 
      server  127.0.0.1:9200 weight=2;  
}
    
upstream static.myweb.com { 
      server  127.0.0.1:81 weight=1; 
      server  127.0.0.1:82 weight=1;  
}
location /myweb {
        proxy_pass http://www.myweb.com;
}


location ~ .*/(css|js|img|images) {
            proxy_pass http://static.myweb.com;
}
静态代理Nginx配置:
location /myweb {
root   /opt/static;
}
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值