博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Nginx系列3之Nginx+tomcat
阅读量:6870 次
发布时间:2019-06-26

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

preface

公司部分应用跑得的tomcat,众所周知,tcomat高并发性能很弱,所以在处理静态请求的时候,我们就把他抛给Nginx处理,而Tomcat专门处理动态请求。所以在这里说说Nginx+tomcat的结合方式。

Nginx和Tomcat结合方式

  1. 将所有静态页面交给nginx,动态请求交给后端tomcat处理。
  2. 将所有请求交给后端tomcat服务器处理,只是利用Nginx自身的负载均衡功能进行多台tomcat服务器调度流量
动静分离

我们假设127.0.0.1:8080是tomcat。

那么nginx配置文件如下:

server {    listen       80;    server_name  web1.test.com;    charset utf8;    access_log  /var/log/nginx/access.log  main;    location / {        root   /var/www/html;        index  index.html index.htm;    }    location /img/ {        root   /var/www/html/img;        index  index.html index.htm;    }    error_page  404              /404.html;    error_page   500 502 503 504  /50x.html;    location = /50x.html {        root   /usr/share/nginx/html;    }    location ~ \.(php|do)$ {        proxy_pass http://127.0.0.1:8080;        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 16k;        proxy_buffers 4 32k;        proxy_busy_buffers_size 128k;        proxy_temp_file_write_size 64k;    }}

在上面的实例中,首先定义了一个虚拟主机的servername ( web1.test.com),然后凡是首页的和、img下面的都给nginx完成,而所有jsp,do结尾的交给tomcat处理。

需要注意的是,在location指令中使用正则表达式后,proxy_pass后面的代理路径不能包含地址连接,也就是不能写成http://192.168.12.130:8080 ,或者类似http://192.168.12.130:8080/jsp的形式,在location指令不使用正则表达式时,没有此限制。

对Tomcat负载均衡

Nginx负载均衡配置:

upstream mytomcats {    server 192.168.12.131:8080;    server 192.168.12.132:8080;    server 192.168.12.133:8080;}server {    listen 80;    server_name www.baidu.com;}location ~* \.(jpg|gif|png|flv|swf|wma|wmv|asf)$ {    root /web/www/html;}location / {    proxy_pass http://mytomcats;    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_busy_buffers_size 64k;    proxy_temp_file_write_size 64k;}

定义了一个upstream负载均衡组,组名为mytomcats,组的成员就是指定的192.168.12.131-192.168.12.133,通过location指令以正则表达式的方式将指定类型的文件全部交给Nginx去处理。其他的所有交给tomcat处理。

转载地址:http://resfl.baihongyu.com/

你可能感兴趣的文章
Spring+Mybatis+SpringMVC+Maven+MySql搭建实例
查看>>
js 自定义类
查看>>
caddy server 默认https && http2的验证
查看>>
物联网数据卡系统源码——通信模块整体概述
查看>>
《学习OpenCV3》目录和全书划分
查看>>
翻转字符串
查看>>
生活娱乐 24岁姑娘端22碗米粉面不改色
查看>>
2-05. 求集合数据的均方差(15) (数学啊 ZJU_PAT)
查看>>
城市公交网建设问题
查看>>
Android图片加载框架Picasso最全使用教程5
查看>>
静态与伪静态
查看>>
SAML
查看>>
安装配置PhoneGap开发环境(一)
查看>>
设计模式学习笔记--备忘录(Mamento)模式
查看>>
OGG目的端的checkpoint table被drop的修复方法
查看>>
android 通过bitmapfactory得到图片真实像素的方法,以及没有得到真实像素的原因
查看>>
SVN 常见命令
查看>>
poj 2299 Ultra-QuickSort
查看>>
mysql写注释的几种方法
查看>>
MFC窗口去边框、置顶、全屏、激活
查看>>