1.安装及使用

1.安装

- 下载链接:
https://pan.baidu.com/s/1_lwXnCdIrfhQk_95SI8MlQ
提取码:wad8

- 启动和关闭
a

- 配置文件

nginx.conf 是nginx的核心配置文件
1. 端口号
 
listen       80;
 
2. 页面存放位置:
 
root html;
 

表示页面都存放在nginx的html目录下

3. 欢迎页面
 
index  index.html index.htm;
 

默认会访问index.html或者index.htm文件
2.下载多个tomcat(1)

Nginx是一个web服务器,很快速,但是不能作为Servlet 容器独立运行,所以通常的工作方式是Nginx配合Tomcat来协同工作。 这就是为什么要单独提供Tomcat,以方便配合Nginx进行工作。

那么为什么要提供多个Tomcat呢?因为在后续的负载均衡,session共享 教程里需要多个Tomcat来配合演示。 下载后运行其中的startup.bat就可以启动,端口号分别是8111和8222。

  1. 链接:https://pan.baidu.com/s/1HB_8gcgpZGvxMxCY5pKERw
    提取码:8dev

2.链接:https://pan.baidu.com/s/1j-EKFg_l1BWeGw8_FLGBAw
提取码:yvlq

3.解压tomcat_8111.rar并运行其中bin目录下的startup.bat

3.启动之后访问地址:
http://127.0.0.1:8111/

会自动跳转到 http://127.0.0.1:8111/login.jsp
在这里插入图片描述
再看访问的资源哪些

在这里插入图片描述

3.反向代理

先说正向代理,比如要访问youtube,但是不能直接访问,只能先找个翻墙软件,通过翻墙软件才能访问youtube. 翻墙软件就叫做正向代理。
所谓的反向代理,指的是用户要访问youtube,但是youtube悄悄地把这个请求交给bilibili来做,那么bilibili就是反向代理了。
在当前教程指的就是访问nginx,但是nginx把请求交给tomcat来做。

1.首先启动多个Tomcat 中端口号是8111的tomcat

2.然后修改nginx.conf

location / {
        	proxy_pass http://127.0.0.1:8111;
	}

location / 表示处理所有请求
proxy_pass http://127.0.0.1:8111; 表示把请求都交给http://127.0.0.1:8111来处理
在这里插入图片描述

3.重启nginx并访问

nginx -s reload

然后访问地址:

http://127.0.0.1/

4.动静分离

所谓的动静分离就是指图片,css, js之类的都交给nginx来处理,nginx处理不了的,比如jsp 就交给tomcat来处理~

好处是nginx处理静态内容的吞吐量很高,比tomcat高多了,这样无形中提升了性能。
在这里插入图片描述

1.修改nginx.conf

在locaction下面添加一个新的location:

 location ~\.(css|js|png)$ {
        	root D:/cwz/tomcat/tomcat_8111/webapps/ROOT;
         }

在这里插入图片描述

2.访问地址
http://127.0.0.1/login.jsp

3.再到tomcat的输出日志里观察,就会发现,只访问了jsp, 所有的css,js,png都不会经过 tomcat,而是由nginx自己负责处理了。
在这里插入图片描述

5.负载均衡

负载均衡的概念就是当访问量很大的时候,一个 Tomcat 吃不消了,这时候就准备多个 Tomcat,由Nginx按照权重来对请求进行分配,从而缓解单独一个Tomcat受到的压力
在这里插入图片描述

1.启动8111和8222两个Tomcat
在这里插入图片描述

2.修改nginx.conf

  • 首先增加一个upstream ,用来指向这两个tomcat
upstream tomcat_8111_8222{
	server	127.0.0.1:8111 weight=1;
	server	127.0.0.1:8222 weight=2;
    }

weight表示权重,值越大,被分配到的几率越大

  • 然后修改location,反向代理到上述配置。
location / {
        	proxy_pass http://tomcat_8111_8222;
	}

3.使劲访问

使用命令 nginx -s reload 重启,然后使劲访问
http://127.0.0.1/login.jsp

此时就可以观察到对jsp的访问,被分配到了不同的 Tomcat上
在这里插入图片描述

6.session共享
  • 负载均衡 session问题:

当同一个用户第一次访问tomcat_8111 并且登录成功, 而第二次访问却被分配到了tomcat_8222, 这里并没有记录他的登陆状态,严重伤害了用户体验。

  • 解决办法;
  1. 用户提交账号密码的行为被分配在了tomcat8111上,登陆信息被存放在redis里。
  2. 当用户第二次访问的时候,被分配到了tomcat8222上
  3. 那么此时tomcat8222就会从redis去获取相关信息,一看有对应信息,那么就会呈现登陆状态。
    [外链图片转存失败(img-fyOl8kVz-1562220333197)(E:/image/6661.png)]

1.Tomcat需要链接redis,,所以需要专门的jar包

2.修改tomcat/conf/context.xml

 <Valve className="com.orangefunction.tomcat.redissessions.RedisSessionHandlerValve" />  
  <Manager className="com.orangefunction.tomcat.redissessions.RedisSessionManager"  
   host="127.0.0.1"  
   port="6379"  
   database="0"  
   maxInactiveInterval="60" /> 

在这里插入图片描述
两个tomcat都要改

3.重启tomcat

4.测试访问tomcat8111
在这里插入图片描述

5.测试访问tomcat8222
在这里插入图片描述
虽然没有在tomcat8222上登陆,但是可以观察到已经呈现为登陆状态了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值