工具和中间件-nginx

1.下载安装:

    http://how2j.cn/k/nginx/nginx-tutorial/1565.html

启动:  start nginx

关闭:   nginx -s stop

重启:  nginx -s reload

2.设置端口为9090

    .......

   server {
        listen       80; #端口号
        server_name  localhost;
        location / {
            root   html;  #表示页面都存放在nginx的html目录下
            index  index.html index.htm; #欢迎页面(root指定的目录下)
        }
        .......
    }

    .......

修改后的访问地址:   http://127.0.0.1:9090/

3.反向代理

      比如要访问youtube,但是不能直接访问,只能先找个翻墙软件,通过翻墙软件才能访问youtube. 翻墙软件就叫做正向代理。所谓的反向代理,指的是用户要访问youtube,但是youtube悄悄地把这个请求交给bilibili来做,那么bilibili就是反向代理了。在通过地址访问nginx时,nginx把请求交给tomcat来做,即nginx的反向代理。http://how2j.cn/k/nginx/nginx-proxypass/1570.html

location / {             #location / 表示处理所有请求

proxy_pass http://127.0.0.1:8111;         #proxy_pass http://127.0.0.1:8111; 表示把请求都交给http://127.0.0.1:8111来处理

}

4.动静分离

      动静分离就是指图片,css, js之类的都交给nginx来处理,nginx处理不了的,比如jsp 就交给tomcat来处理。好处是nginx处理静态内容的吞吐量很高,比tomcat高多了,这样无形中提升了性能。http://how2j.cn/k/nginx/nginx-seperate/1567.html

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

location ~\.(css|js|png)$ {

root C:/Users/X7TI/Downloads/tomcat_8111/webapps/ROOT;   # 表示所有的css js png访问都由nginx来做

}

5,负载均衡

          负载均衡的概念就是当访问量很大的时候,一个 Tomcat 吃不消了,这时候就准备多个 Tomcat,由Nginx按照权重来对请求进行分配,从而缓解单独一个Tomcat受到的压力.http://how2j.cn/k/nginx/nginx-balance/1568.html

upstream tomcat_8111_8222{             # 增加一个upstream ,用来指向这两个tomcat

       server 127.0.0.1:8111 weight=1;         #weight表示权重,值越大,被分配到的几率越大。

      server 127.0.0.1:8222 weight=2;

}

server {

         location / {  #然后修改location,反向代理到上述配置。

                   proxy_pass http://tomcat_8111_8222;

         }

         ......

}

6.ip_hash来解决负载均衡 session问题

          通过ip地址标记用户,如果多次请求都是从同一个ip来的,那么就都分配到同一个tomcat

          缺点:1. 大量请求来之某个局域网,那么相当于就没有负载均衡了  2. 如果tomcat_8111 挂了,那么此时nginx只能把请求交给tomcat_8222,但是这里却没有记录session,用户体验依然受影响。

    upstream tomcat_8111_8222{
        server    127.0.0.1:8111 weight=1;
        server    127.0.0.1:8222 weight=2;
        ip_hash;#通过ip地址标记用户,如果多次请求都是从同一个ip来的,那么就都分配到同一个tomcat.
    }

7.redis来解决负载均衡 session问题

         http://how2j.cn/k/nginx/nginx-share-session/1569.html       

         通过负载均衡课程,我们可以把请求分发到不同的 Tomcat 来缓解服务器的压力,但是这里存在一个问题: 当同一个用户第一次访问tomcat_8111 并且登录成功, 而第二次访问却被分配到了tomcat_8222, 这里并没有记录他的登陆状态,那么就会呈现未登录状态了,严重伤害了用户体验。
         Redis说简单点就是个独立的Hashmap,用来存放键值对的。
        用Redis来存取session,这样当tomcat1需要保存session值的时候,就可以把它放在Redis上,需要取的时候,也从Redis上取。

        Redis session共享机制和nginx其实无关,是发生在nginx之后的事情,使用的是tomcat和redis之间的传输来完成的。

1.Tomcat-lib需要链接 redis, 一共有3个jar包:jedis-2.5.2.jar,commons-pool2-2.0.jar,tomcat-redis-session-manager1.2.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" />

 

 

 

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值