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的负载均衡 和 静态代理 结合在一起,我们可以实现动静分离。

动静分离示例

负载均衡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;
  }