今日学习笔记
关于Nginx
为Nginx准备的多个Tomcat
1.为什么要准备多个Tomcat?
在解释为什么要提供多个Tomcat之前,首先解释一下为什么要额外提供Tomcat
Nginx是一个web服务器,很快速,但是不能作为Servlet 容器独立运行,所以通常的工作方式是Nginx配合Tomcat来协同工作。 这就是为什么要单独提供Tomcat,以方便配合Nginx进行工作
后续的负载均衡,session共享需要多个Tomcat来配合
2.运行
第一个Tomcat
启动之后访问地址:
会自动跳转到
4.负载均衡
准备里两个一模一样的tomcat,只是他们的端口号不一样
第一个Tomcat的端口号为8111,那么设置第二个为8222
5.反向代理
先说正向代理,比如要访问youtube,但是不能直接访问,只能先找个FQ软件,通过FQ软件才能访问youtube. FQ软件就叫做正向代理
所谓的反向代理,指的是用户要访问youtube,但是youtube悄悄地把这个请求交给bilibili来做,那么bilibili就是反向代理了
在当前教程指的就是访问nginx,但是nginx把请求交给tomcat来做
6.启动Tomcat
分别启动端口号为8111和8222的Tomcat
 
然后修改nginx.conf,主要是30-42行
proxy_pass http://127.0.0.1:8111; 表示把请求都交给http://127.0.0.1:8111来处理
8.意义
既然直接通过127.0.0.1:8111/login.jsp 可以访问,那么干嘛要通过127.0.0.1/login.jsp 去反向代理到tomcat呢? 为什么不直接使用tomcat呢?
因为nginx在处理静态文件的吞吐量上面比tomcat好很多,通常他们俩配合,不会把所有的请求都如本例所示的交给tomcat, 而是把静态请求交给nginx,动态请求,如jsp, servlet,ssm,
struts等请求交给tomcat. 从而达到动静分离的效果
9.静态分离
所谓的动静分离就是指图片,css, js之类的都交给nginx来处理,nginx处理不了的,比如jsp 就交给tomcat来处理
好处是nginx处理静态内容的吞吐量很高,比tomcat高多了,这样无形中提升了性能
10.修改nginx.conf
在locaction下面添加一个新的location:
这表示所有的css js png访问都由nginx来做,访问的地址是 
这里要注意,填写本地地址的时候,要用正斜杠 / 不要用反斜杠 \
再到tomcat的输出日志里观察,就会发现,只访问了jsp, 所有的css,js,png都不会经过 tomcat,而是由nginx自己负责处理了

11.负载均衡
负载均衡的概念就是当访问量很大的时候,一个 Tomcat 吃不消了,这时候就准备多个 Tomcat,由Nginx按照权重来对请求进行分配,从而缓解单独一个Tomcat受到的压力
12.进行第二个反向代理

修改conf文件
首先增加一个upstream ,用来指向这两个tomcat
然后修改location,反向代理到上述配置
weight表示权重,值越大,被分配到的几率越大
使用命令 nginx -s reload 重启,然后使劲访问
 
                    
                
                
            
        
浙公网安备 33010602011771号