博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Nginx+Tomcat实现反向代理与动静分离
阅读量:6982 次
发布时间:2019-06-27

本文共 1497 字,大约阅读时间需要 4 分钟。

1. 什么是动静分离

        所谓动静分离就是通过nginx(或apache等)来处理用户端请求的静态页面,tomcat(或weblogic)处理动态页面,从而达到动静页面访问时通过不同的容器来处理。

2. 为什么做动静分离

         Nginx处理静态页面的效率远高于tomcat,所有我们只让tomcat干自己擅长的事情,以事实说话,我们通过ab进行对一个静态页面访问做压力测试。

1) 做动静分离后nginx处理静态页面的压力测试:

# ab -n 1000 -c 200 

吞吐量为:1.2M

2) 未做动静分离而是直接由tomcat处理同一个静态页面的压力测试:

# ab -n 1000 -c 200 

吞吐量为:0.08M

通过上面的压力测试结果,所有请求由tomcat处理与动静分离相比毫无疑问动静分离才是王道!

3. 动静分离逻辑图

4. Nginx与tomcat部署

由一键安装middleware_install_v.1.0.3.tar.gz进行部署,这里不再赘述。

5. Nginx配置

nginx需要配置的地方如下:

 

server {

listen 80;

server_name  10.10.11.91;

index index.html index.htm index.jsp index.do

root /usr/local/nginx/html; #由nginx处理静态页面

location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ {

expires 30d;

}

location ~ .*\.(js|css)?$ {

expires 1h;

}

location ~ (\.jsp)|(\.do)$ {

proxy_pass 以jsp和do请求的页面经过nginx反向代理由tomcat处理

proxy_redirect off;

proxy_set_header HOST $host;

proxy_set_header X-Real-IP $remote_addr;

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

client_max_body_size 10m;

client_body_buffer_size 128k;

proxy_connect_timeout 90;

proxy_send_timeout 90;

proxy_read_timeout 90;

proxy_buffer_size 4k;

proxy_buffers 4 32k;

proxy_busy_buffers_size 64k;

proxy_temp_file_write_size 64k;

}

}

6. 验证动静分离的效果

我在tomcat的根目录ROOT下建立了index.html、test.jsp、test.do三个测试文件:

我在nginx的根目录/usr/local/nginx/html下建立测试首页index.html

直接访问tomcat的静态首页:

直接访问tomcat的jsp页面:

直接访问tomcat的.do页面:

现在进行通过nginx进行访问:

Nginx的首页:

查看nginx处理jsp页面的请求: 

查看nginx处理.do页面的请求:

至此,nginx与tomcat已实现了反向代理动静分离。

本文转自 baiying 51CTO博客,原文链接:http://blog.51cto.com/baiying/1123230,如需转载请自行联系原作者
你可能感兴趣的文章
2017年物联网发展走向的11种预测
查看>>
降低物联网设备安全风险的六大因素
查看>>
Phalcon入门教程之模型CURD(2)
查看>>
四川成立大数据发展研究会 拟建公共云暨数据交易中心
查看>>
安全公司发现针对印度外交部与军事机构的间谍活动
查看>>
无接口.NET代码的单元测试
查看>>
数据库产品如何选型
查看>>
如何管理跨部门的沟通与协作?
查看>>
国防科大联合交流团来榕洽谈智慧城市建设合作
查看>>
日本外务省新设网络安全保障政策室
查看>>
美“智能城市挑战赛”决赛名单公布:7座城市入围
查看>>
企业全光网将成运营商部署千兆接入的商业驱动力
查看>>
sql 2000 分页存储过程
查看>>
2030年实现全球10TW的光伏目标 太阳能电池需要哪些突破?
查看>>
2017年物联网五大趋势
查看>>
卡巴斯基:智能汽车应用程序存在安全风险
查看>>
由一个营业厅投诉引发的思考
查看>>
智能家居火热但仍存缺陷,傻瓜式操作或成未来方向
查看>>
Win10 S是Windows RT第二?微软:差别很大
查看>>
流量劫持已成行业毒瘤,不正当竞争当严惩
查看>>