• [置顶] 搭建apache+tomcat+memcached集群环境


    一、搭建apache server服务器

    1apache server图示:(加载图片要一张一张,所以可以到下面网站下载带图片的word)

    http://download.csdn.net/user/y0908105023

    环境:linux6.2 apache服务器地址(192.168.181.140)tomcat1(192.168.181.141)tomcat2(192.168.181.142)memcached(192.168.181.131)

    2、使用apache的原因

             apacheserver在处理静态页面的能力上面要比tomcat服务器好很多,所以,它可以用来响应客户的静态页面,对于那些jsp之类的动态页面交给后台的tomcat服务器进行响应,可以大大的提供效率。

             并且,在大型的服务网站中,apache+tomcat+lvs进行负载均衡,可以很有效的承载高并发、高访问。

    3、搭建apache server集群

    1)、基础知识补充

    SELinuxSecurity Enhencedlinux,是一种权限机制,分为DACMACMAC就是通过SELinux控制的,可以手动的改动SELinux的设置,命令:

    setenforce 0

    这样就可以安全的访问了,要想启动就修改,可以修改/etc/selinux/config文件,修改为下边:

     

    2)、搭建apache+tomcat+memcached的图示

    搭建此集群的官方网站:

    http://code.google.com/p/memcached-session-manager/wiki/SetupAndConfiguration

     

    3)、粘性session和非粘性session的区别:

             粘性session就是指,apache服务器会把某个用户的请求,交给tomcat集群中的一个节点,以后此节点就负责该保存该用户的session,如果此节点挂掉,那么该用户的session也会消失。

             非粘性session:这种方式下,通过负载均衡器会根据节点的情况,把用户的请求进行分发,也就是会复制多份session分发给多个节点,这样,如果节点中其中一个session挂掉的话,其它的还能继续工作,也就是只要有一个节点没有挂掉,该用户的信息就不会消失。

     

    4)、采用memcached策略的引言

             MSMmemcachedsession manager,是一种高可用的tomcat session支持方案,它可以支持粘性session,也可以支持非粘性session,这里,我采用的是非粘性session,也就是多个tomcat之间的session复制,当然,除了MSM只是一个组件,还可以选择其它的组件,比如memcacheddbmembase

     

    5)、挑选jar

     

    根据采用序列化方式的不同,分为kryojavolution两种方式,下面第一种方式需要的jar包:

     

    6)、配置apach eserver服务器

             如果要配置apacheserver服务器,就要安装httpd服务,一般linux默认已经安装好了,如果你的还没有安装好,那就到网上搜一下安装。判断是否安装好:

    上图已经安装成功,下面修改配置,加入负载均衡和反向代理配置:

     

    <VirtualHost *:80>

            ServerAdmin xxx@126.com

            ServerName localhost

            ServerAlias   localhost

            ProxyPass / balancer://cluster/ stickysession=JSESSIONID nofailover=On

            ProxyPassReverse / balancer://cluster/

            ErrorLog "logs/apache-error.log"

            CustomLog "logs/apache-access.log" common

    </VirtualHost>

    ProxyRequests Off

    <proxy balancer://cluster>

             BalancerMember ajp://192.168.181.141:8009 loadfactor=1route=jvm1

             BalancerMember ajp://192.168.181.142:8009 loadfactor=1 route=jvm2

    </proxy>

    /etc/httpd/conf/httpd.conf的后面加入上面的配置,BalancerMember指的就是负载均衡中的一个节点和所对应的tomcat。保存退出。重启httpd服务。

     

    7)、配置tomcat服务器

    安装java环境,并配置环境变量:如下图

    安装apachetomcat,我的版本是apache-tomcat-6.0.37

    首先,把第五步挑选的jar包放入到tomcat的安装目录的lib里边,并修改tomcat安装目录下的conf文件下的context.xml,修改如下:

    <ManagerclassName="de.javakaffee.web.msm.MemcachedBackupSessionManager"

           memcachedNodes="n1:192.168.181.131:12000"

           requestUriIgnorePattern=".*.(ico|png|gif|jpg|css|js)$"

           transcoderFactoryClass="de.javakaffee.web.msm.serializer.kryo.KryoTranscoderFactory"

     

      />

    注意:这个是从下面这个网站中找出的配置,根据你采用的不同,需要修改

    http://code.google.com/p/memcached-session-manager/wiki/SetupAndConfiguration

    memcachedNodes是指安装memcached服务器的地方。

     

    然后修改server.xml文件,此文件也在conf目录下,这是其中一部分,注意jvm1跟上边httpd.conf中的配置对应起来

    配置好这个之后,就按照这个方法配置第二个tomcat服务器,但是修改server.xml的时候,下面的要换成jvm2.

     

    8)、配置memcached服务器

    对于memcached服务器,只需要安装完之后启动就行,启动的端口要与上边保持一致,这样这个memcached服务器才能被找到。

    4、测试

    如下图,刷新改变了jvm,但并没有使session改变,session中的值也没有丢失。

  • 相关阅读:
    LF will be replaced by CRLF in package.json.
    JS 防抖和节流
    webpack依赖分析|打包优化
    JavaScript 中精度问题以及解决方案
    mysql查询某些数据的最小值
    mongodb sort
    常用的快捷键(用到时再不断完善)
    一、negut增加Nancy,和Nancy.Hosting.Self,
    Linux系统(Centos)安装tomcat和部署Web项目
    CentOS 7系统安装jdk-8u161-linux-x64.tar.gz
  • 原文地址:https://www.cnblogs.com/james1207/p/3299288.html
Copyright © 2020-2023  润新知