linux学习:Nginx--反向代理和动静分离-04

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux学习:Nginx--反向代理和动静分离-04相关的知识,希望对你有一定的参考价值。

一、http的反向代理

1、nginx通常被用作后端服务器的反向代理,这样就可以很方便的实现动静态分离,以及负载均衡,从而大大提高服务器的处理能力。

2、Http Proxy模块,功能很多,最常用的是proxy_pass

3、如果要使用proxy_cache的话,需要集成第三方的ngx_cache_purge模块,用来清除指定的URL缓存,这个集成需要在安装nginx的时候去做,

  如:

./confiure --add-modele=../ngx_cache_purge-1.0 ....

操作:

 #允许客户端请求的最大的单个文件字节数

 client_max_body_size    300m;

 #缓冲区代理缓冲用户端请求的最大字节数,可以理解为先保存到本地再传给用户

 client_body_buffer_size   128k;

 #跟后端服务器连接的超时时间,发起握手等候相应超时时间

 proxy_connect_timeout     600;

 #连接成功后,等候后端服务器响应时间,其实已经进入后端的排队之中等候处理

 proxy_read_timeout     600;

 #后端服务器数据回传时间,就是在规定时间之内后端服务器必须传完所有的数据

 proxy_send_timeout     600;

 #代理请求缓存区,这个缓存区间会保存用户的头信息以供nginx进行规制处理,一般只要能保存下头信息即可

 proxy_buffer_size     16k;

配置nginx.conf:

upstream xiaoliu.com {
      server 127.0.0.1:8080 weight=5;
    }

    server {
      listen    8888;
      server_name testserver1;
      #access_log logs/host.access.log main;
      index index.html index.jsp;
      root /opt/tomcat/webapps/ROOT/;

      location / {
        proxy_pass http://xiaoliu.com;
      }

    }

访问:http://192.168.91.6:8888/ 

··技术分享

二、动静态分离

Nginx实现动静分离,其实就是在反向代理的时候,如果是静态资源,那么就直接从Nginx发布的路径去读取,而不需要从后台服务器获取了。

但是要注意:这种情况下需要保证后端跟前端的程序保持一致,可以使用Rsync做服务端自动同步或者使用NFS、MFS分布式共享存储。


如果这个tomcat下工程只有一个,且是ROOT的话,

配置nginx.conf:

upstream xiaoliu.com {
    server 127.0.0.1:8080 weight=5;
}

server {
    listen    8888;
    server_name testserver1;
    #access_log logs/host.access.log main;
    index index.html index.jsp;
    root /opt/tomcat/webapps/ROOT/;
     
    location ~* .*\.(jpg|jpeg|gif|png|swf|ico)$ {
        if (-f $request_filename) {
            #expires 15d;
            break;
        }
    } 

    location ~* .*\.(html|htm|js|css)$ {
       #expires id;
    }


    location / {
       proxy_pass http://xiaoliu.com;
    }      
}


如果有多个,访问会有问题:

 访问:http://192.168.91.6:8888/customermger/static/css/application.css 

    技术分享

 访问:http://192.168.91.6:8080/customermger/static/css/application.css 

    技术分享

修改配置nginx.conf:

upstream xiaoliu.com {
    server 127.0.0.1:8080 weight=5;
}

server {
    listen    8888;
    server_name testserver1;
    #access_log logs/host.access.log main;
    index index.html index.jsp;
    root /opt/tomcat/webapps/ROOT;
    
    location ~* ^/customermger/.*\.(jpg|jpeg|gif|png|swf|ico)$ {
        root /opt/tomcat/webapps;
    } 

    location ~* ^/customermger/.*\.(html|htm|js|css)$ {
      root /opt/tomcat/webapps;
    }
    
    location ~* .*\.(jpg|jpeg|gif|png|swf|ico)$ {
        if (-f $request_filename) {
            #expires 15d;
            break;
        }
    } 

    location ~* .*\.(html|htm|js|css)$ {
       #expires id;
    }


    location / {
       proxy_pass http://xiaoliu.com;
    }      
}

本文出自 “我爱大金子” 博客,请务必保留此出处http://1754966750.blog.51cto.com/7455444/1912668

以上是关于linux学习:Nginx--反向代理和动静分离-04的主要内容,如果未能解决你的问题,请参考以下文章

详述Linux系统中搭建Nginx动静分离

从0开始,在Linux中配置Nginx反向代理负载均衡session共享动静分离

Nginx代理——正向反向代理,动静分离和负载均衡

Nginx+apache/Tomcat实现反向代理与动静分离

nginx反向代理,实现动静分离

聊一聊nginx负载均衡+正/反向代理+动静分离