美文网首页
反向代理实现Nginx-tomcat动静分离

反向代理实现Nginx-tomcat动静分离

作者: 黑嘉Z | 来源:发表于2019-03-02 20:37 被阅读0次

Nginx动静分离简单来说就是把动态跟静态请求分开,不能理解成只是单纯的把动态页面和静态页面物理分离。严格意义上说应该是动态请求跟静态请求分开,可以理解成使用Nginx处理静态页面,Tomcat处理动态页面

动静分离从目前实现角度来讲大致分为两种,一种是纯粹的把静态文件独立成单独的域名,放在独立的服务器上,也是目前主流推崇的方案;另外一种方法就是动态跟静态文件混合在一起发布,通过nginx来分开。通过location指定不同的后缀名实现不同的请求转发。

Nginx的相关知识

/usr/sbin/nginx:主程序

/etc/nginx:存放配置文件

/usr/share/nginx:存放静态文件

/var/log/nginx:存放日志

$sudo/etc/init.d/nginx start

location匹配规则

= 开头表示精确匹配

^~ 开头表示uri以某个常规字符串开头,理解为匹配 url路径即可。nginx不对url做编码,因此请求为/static/20%/aa,可以被规则^~ /static/ /aa匹配到(注意是空格)。

~ 开头表示区分大小写的正则匹配

~*  开头表示不区分大小写的正则匹配

!~和!~*分别为区分大小写不匹配及不区分大小写不匹配 的正则

/ 通用匹配,任何请求都会匹配到。

多个location配置的情况下匹配顺序为

首先匹配 =,其次匹配^~, 其次是按文件中顺序的正则匹配,最后是交给 / 通用匹配。当有匹配成功时候,停止匹配,按当前匹配规则处理请求。

其中最核心的就是"proxy_pass http://localhost:8080;"这条配置,它将匹配到的请求都转发给Tomcat去处理。

其他的配置:

[if !supportLists]·       [endif]proxy_set_header Host $host; 后端的Web服务器可以通过X-Forwarded-For获取用户真实IP。

[if !supportLists]·       [endif]client_max_body_size 10m; 允许客户端请求的最大单文件字节数。

[if !supportLists]·       [endif]client_body_buffer_size 128k; 缓冲区代理缓冲用户端请求的最大字节数。

[if !supportLists]·       [endif]proxy_connect_timeout 90; Nginx跟后端服务器连接超时时间。

[if !supportLists]·       [endif]proxy_read_timeout 90; 连接成功后,后端服务器响应时间。

[if !supportLists]·       [endif]proxy_buffer_size 4k; 设置代理服务器保存用户头信息的缓冲区大小。

[if !supportLists]·       [endif]proxy_buffers 6 32k; proxy_buffers缓冲区。

[if !supportLists]·       [endif]proxy_busy_buffers_size 64k; 高负荷下缓冲大小。

[if !supportLists]·       [endif]proxy_temp_file_write_size 64k; 设定缓存文件夹大小。

Nginx配置文件server配置如下:

server {

           listen 9999;

           server_name localhost;

           location /{

               #可以用proxy_pass 转发到负载均衡或者某个http://

                root html;

                index heyjia.html index.html;

                }

            location ~.*\.(html|htm|gif|jpg|jpeg|png|bmp|ico|txt|css|js)

            {

                #匹配到此格式的,到static文件夹找图片

                root /data/webapps/static;

              }

            location ~.*\.(jsp|php|cgi|sgtml|do){

                #匹配到这些格,转发到tomcat服务器上

                proxy_passhttp://localhost:8080;

           }

      }

如果要使用动态均衡,,转发到相关的负载均衡名即,配置如下

upstream tdt_app

 {

    server   ip:8080 weight=1 max_fails=2fail_timeout=30s;

    server   ip:8081 weight=1 max_fails=2fail_timeout=30s;

}

相关文章

  • 反向代理实现Nginx-tomcat动静分离

    Nginx动静分离简单来说就是把动态跟静态请求分开,不能理解成只是单纯的把动态页面和静态页面物理分离。严格意义上说...

  • 架构图解

    架构图片理解 单个服务器 单机 动静分离动静分离的架构 反向代理反向代理的架构 负载均衡 缓存相关 业务拆分

  • nginx系列3——nginx反向代理、动静分离、负载均衡

    nginx反向代理、动静分离、负载均衡 反向代理 要说反向代理,我们就先要理解正向代理 ,下面我们就谈谈正向代理和...

  • nginx 能做的事

    Nginx主要功能: 1、反向代理2、负载均衡3、HTTP服务器(包含动静分离)4、正向代理 一、反向代理 反向代...

  • nginx 能做什么?

    Nginx主要功能: 1、反向代理2、负载均衡3、HTTP服务器(包含动静分离)4、正向代理 一、反向代理 反向代...

  • Nginx应用场景

    反向代理,负载均衡,动静分离 1.反向代理 修改nginx配置,并重新加载 重新加载nginx配置./nginx ...

  • 全面了解 Nginx 到底能做什么

    Nginx能做什么 1.反向代理 2.负载均衡 3.HTTP服务器(包含动静分离) 4.正向代理 反向代理 反向代...

  • Nginx使用

    一.nginx反向代理 二.nginx负载均衡 三.动静分离 四.总结

  • Nginx-服务器

    下载安装 配合Tomcat 反向代理 动静分离 负载均衡 Session存放

  • 2019-01-16

    ab:模拟并发的软件 Ngix作用:动静分离、反向代理。负载均衡 ================= (.rpm安...

网友评论

      本文标题:反向代理实现Nginx-tomcat动静分离

      本文链接:https://www.haomeiwen.com/subject/lzpyuqtx.html