使用nginx加载多个tomcat实现session共享(负载均衡)

需要用到:

  nginx 官网地址:http://nginx.org/ 来做反向代理  Windows版本下载地址:http://nginx.org/en/download.html

  tomcat 官网:http://tomcat.apache.org/ 

  memcached 官网:http://memcached.org/ 用memcached实现session共享

  •  tomcat集群

    以我的为例,我用的tomcat版本是 apache-tomcat-7.0.68

  1. 现将tomcat文件夹复制成多份(ps:命名为apache-tomcat-7.0.68_1、apache-tomcat-7.0.68_2……)
  2. 修改端口号,修改conf文件夹下的server.xml配置文件(以apache-tomcat-7.0.68_1为例)

(1)、第一处端口修改


(2)、第二处端口修改


(3)、第三处端口修改

 

其他tomcat配置一样, 不同的tomcat的端口别重复,这样能保证启动起来。

  • nginx的安装与配置

  1、解压缩包(我的版本是稳定版1.8.1)

  2、打开conf打开nginx.conf进行配置(nginx作为前端反向代理服务器的配置),在#gzip on这句代码之后加上



upstream localhost {
        server localhost:8088 weight=1;
        server localhost:8888 weight=1;
    }

可以修改端口号:listen 后面的数字保证端口号不能重复

使用nginx加载多个tomcat实现session共享(负载均衡)_第1张图片

location的配置:

使用nginx加载多个tomcat实现session共享(负载均衡)_第2张图片

3、启动nginx

启动DOS环境,进入nginx的目录,输入start nginx 启动

使用nginx加载多个tomcat实现session共享(负载均衡)_第3张图片

如果更改了nginx.conf文件输入nginx -s reload 重新加载文件,再输入nginx -t看文件代码是否有问题,如出现上图所示则没有问题。然后再次start nginx启动nginx;

  4、验证配置与测试负载均衡

  首先测试nginx配置是否正确,测试命令:nginx -t  (默认验证:conf\nginx.conf),也可以指定配置文件路径。

使用nginx加载多个tomcat实现session共享(负载均衡)_第4张图片

其次验证tomcat,启动两个tomcat,查看是否成功启动。

这里我在tomcat下面布置了项目MyWebTest,启动tomcat后在浏览器输入地址,显示如下图:

使用nginx加载多个tomcat实现session共享(负载均衡)_第5张图片

最后验证配置负载均衡设置,输入地址:http://localhost:86/MyWebTest/index.jsp,出现如下两种情况:

使用nginx加载多个tomcat实现session共享(负载均衡)_第6张图片

至此window下nginx+tomcat负载均衡配置结束,关于tomcat Session的问题通常是采用memcached;如果tomcat过多不建议session同步,server间相互同步session很耗资源,高并发环境容易引起Session风暴。请根据自己应用情况合理采纳session解决方案。

  • memcached的配置

  1、Memcached配置需要下载以下jar包并放在tomcat的lib目录下

使用nginx加载多个tomcat实现session共享(负载均衡)_第7张图片

2、配置tomcat

  在tomcat中conf目录下的context.xml,在标签中加入以下代码即可


3、memcached的下载安装

    (1)如果你的机器是windows系统,需要从网上下载一个windows版本的

    (2)解压memcached安装包,启动DOS环境,进入memcached的目录,输入memcached.exe -d install命令安装memcached

使用nginx加载多个tomcat实现session共享(负载均衡)_第8张图片

(3)、然后输入memcached.exe -s start启动memcached

 

4、验证是否成功,session是否共享

    以下是我的部分测试代码:

    使用nginx加载多个tomcat实现session共享(负载均衡)_第9张图片

输入地址:http://localhost:86/MyWebTest/index.jsp查看是否达到预期效果。

使用nginx加载多个tomcat实现session共享(负载均衡)_第10张图片 

 

你可能感兴趣的:(#,nginx+tomcat集群)