一个好的服务器集群必须要做到高并发和负载均衡,服务器集群包括三部分组成:前端服务器,后天服务器,同步数据库。前端服务器最长用的是nginx和LVS,nginx是基于应用层的集群服务器,而LVS是基于tcp协议一下的第四层集群服务器。我们这里选择用nginx做前端服务器。在这里我们不在说怎样安装nginx,不会安装的可以看如何在CentOS安装Nginx?来安装nginx.

第一步:准备工作

我们需要现在一台虚拟机上安装nginx,在两台虚拟机上安装Tomcat。安装Tomcat步骤如下:

1.下载tomcat安装包。apache-tomcat-7.0.61.tar.gz

2.用命令tar -zxvf apache-tomcat-7.0.61.tar.gz解压安装包。

3.用命令cd apache-tomcat-7.0.61.tar.gz 进入安装包,用命令make  &&  make  install来安装tomcat。在安装之前要确定此虚拟机上已经安装了JDK.安装完成后用命令./bin/startup.sh打开tomcat,用killall   java来关闭tomcat.

第二步:配置反向代理

上面我们准备好了两个tomcat ,现在我们来配置nginx,

1.首先我们先配置一个upstream,upstream配置在http这个节点里面。如下图配置:

upstream tomcat {
     check interval=3000 rise=2 fall=5 timeout=1000 type=http;
     server node03:8080 weight=1;
     server node04:8080 weight=1;
 }

服务器集群构建esxi 服务器集群搭建方案_nginx

upstream后面名字随便起,然后里面server可以加个权重,当然可接可不接。

    check interval=3000 rise=2 fall=5 timeout=1000 type=http;这句是tengine对nginx优化出来的健康检查,。

健康检查结果通过配置location来在网页里查看

location /status {
         check_status;
     }

2.配置location

我们配置完upstream后我们会配置location来使用upstream

location / {
     proxy_pass http://tomcat;
 }

以上两步我们就配置好了反向代理。

第三步:安装同步数据库memcached

要做到负载均衡必须要解决的一个问题就是session的共享,这里最好的解决办法就是用缓存数据库。缓存数据库很多,我们这里选择memcached,memcached比较简单。它是以键值对的方式存储的,没有变的概念,只能存字符串。

安装memcached很简单,用命令yum   -y   install   memcached就可以安装成功。

第四步:配置memcached

1.我们要想tomcat自动获memcached存的sesion必须修改tomcat的配置文件,用命令vi  conf/context.xml编辑context.xml文件,在文件里加上以下代码:

 

<Manager className="de.javakaffee.web.msm.MemcachedBackupSessionManager" 
         memcachedNodes="n1:192.168.126.132:11211" 
         sticky="false" 
         lockingMode="auto"
         sessionBackupAsync="false"
         requestUriIgnorePattern=".*\.(ico|png|gif|jpg|css|js)$"
         sessionBackupTimeout="1000" transcoderFactoryClass="de.javakaffee.web.msm.serializer.kryo.KryoTranscoderFactory" 
     />

2.上网下载tomcat8.0-memcache-session.rar,解压之后打jar包拷贝到tomcat安装目录下的lib目录下。重启tomcat就可以了。