windows、Linux下nginx搭建集群

date: 2018/12/11 11:44:29


前言

说明:nginx搭建tomcat集群十分简单,而且windows上和Linux上面的方式是一样的!不同的是Linux系统上面安装nginx要复杂一些,文章的目的实在掌握nginx用法的基础上深入了解其原理,知道其优缺点及性能

window下安装nginx

1 windows下官网直接在下载最新稳定版 地址:http://nginx.org/en/download.html

2 解压到指定目录,打开解压文件,启动nginx.exe

3 查看启动:http://127.0.0.1:80

配置conf/nginx.conf配置文件

了解配置文件结构

详参nginx中文参考文档: http://shouce.jb51.net/nginx/left.html

配置文件/conf/nginx.conf增改内容

upstream test{
    server  127.0.0.1:8080;
    server  127.0.0.1:8090;
    server  127.0.0.1:8100;
}

location /{
    proxy_pass  http://test;
}

负载均衡策略

  • 轮询–默认策略 按顺序逐一分配;

  • 最少连接–把请求分配到最少的连接;

  • 权重–用weight指定server的访问比率,默认为1;

  • ip_hash–每一个请求会按照访问的ip的hash值进行分配,这样同一客户端连续的web请求都会分配到同一server进行处理,可以解决session问题

      upstream test{
          ip_hash;
          least_conn;
          server  127.0.0.1:8080 weight=2;
          server  127.0.0.1:8090 weight=3;
          server  127.0.0.1:8100;
      }
    

window下kill 需要管理员权限

taskkill /f /t /im nginx.exe

应用集群模式下,Session共享问题解决

  • 方式一:tomcat自带session复制功能,可以解决session共享问题

      1:在conf文件夹下,找到server.xml,修改配置文件,将注释内的内容,复制到标签内使用,如下:
      
          <Engine name="Catalina" defaultHost="localhost" jvmRoute="8080">
          <Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>
      
      2:将所有tomcat服务器内的配置,都需要修改,并重启即可
      
      问题:如果以上还没有解决共享问题,才启用下面配置。
      
          1:终极解决方案:在web.xml中添加一行代码,代码位置是固定的,必须放到标签<display-name>下一行,如下:
          <distributable/>
    
  • 方式二:使用redis来实现session共享

      1:在框架中集成redis之后,用户登录成功后,将session信息存放到redis中
      2:在登录检测拦截器中,从redis中获取当前用户信息,检验用户session
      3:在redis中可以设置session有效期
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值