zoukankan      html  css  js  c++  java
  • nginx的应用【静态代理、动静分离】

    Nginx主要应用:

     静态web服务器

     负载均衡

    静态代理
    虚拟主机

    静态代理

      :把所有静态资源的访问改为访问nginx,而不是访问tomcat,因为nginx更擅长于静态资源的处理,性能更好,效率更高;

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

    Nginx静态代理如何实现?(通过在Nginx的nginx.conf文件进行配置即可实现)
    方式一:
    通过在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处理;
    放置静态资源的目录,要注意一下目录权限问题,如果权限不足,给目录赋予权限;
    方式二:
      通过在nginx.conf配置文件中配置静态资源所在目录实现,比如:
        location ~ .*/(css|js|img|images|image) {
          root /opt/static;
        }
    我们将静态资源放入 /opt/static 目录下,然后用户访问时由nginx返回这些静态资源;

    动静分离:

      Nginx的负载均衡 和 静态代理 结合在一起,我们可以实现动静分离。

      动态资源,如jsp由tomcat或其他web服务器完成;
      静态资源,如图片、css、js等由nginx服务器完成;
    它们各司其职,专注于做自己擅长的事情;
    动静分离充分利用了它们各自的优势,从而达到更高效合理的架构;
    动静分离示例

    负载均衡Nginx配置:
        upstream www.p2p.com {
          server 127.0.0.1:9100 weight=5;
          server 127.0.0.1:9200 weight=2;
        }

      upstream static.p2p.com {
        server 127.0.0.1:81 weight=1;
        server 127.0.0.1:82 weight=1;
      }
      location /p2p {
        proxy_pass http://www.p2p.com;
      }

      location ~ .*/(css|js|img|images) {
        proxy_pass http://static.p2p.com;
      }
    静态代理Nginx配置:
      location ~ .*/(css|js|img|images) {
        root /opt/static;
      }

    学着把生活的苦酒当成饮料一样慢慢品尝, 不论生命经过多少委屈和艰辛, 我们总是以一个朝气蓬勃的面孔, 醒来在每一个早上。
  • 相关阅读:
    关于javaScript substring()方法的一点点应用
    解决Vue报错:Invalid prop: type check failed for prop "id". Expected Number with value 14, got String with value "14".
    better-scroll滚动无效的查错
    Vue程序化导航---又称编程式导航
    Vue路由初始化Can't read prooerty '$createElement' of undefined
    在前台利用jquery对dom元素进行排序
    js/jquery如何获取获取父窗口的父窗口的元素
    jquery使鼠标滚轮暂时失效
    introJs写法
    用Intro.js创建站点分步指南
  • 原文地址:https://www.cnblogs.com/yhm9/p/11183472.html
Copyright © 2011-2022 走看看