Apache+Tomcat+Memcached的集群搭建与基本配置

来源:互联网 发布:xampp 更换php版本 编辑:程序博客网 时间:2024/05/21 06:45

【1】 基本介绍及架构
         1】 apache服务器       作为分发器       (IP:10.10.68.1)
         2】 tomcat服务器       提供web服务      (IP:10.10.68.11 10.10.68.12)
         3】 memcached服务器    保证session同步  (IP:10.10.68.21 10.10.68.22)
  
【2】 apache(10.10.68.1)的配置
        1】安装软件包        

  1. yum install httpd httpd-devel  gcc -y  
        2】安装功能软件包(ajp1.3)
             < a > 解压     
  1. tar zxvf tomcat-connectors-1.2.32-src.tar.gz  -C /tmp  
  2. cat /tmp/tomcat-connectors-1.2.32-src/BUILD.txt   
  3. cd native  
  4.  ./configure --with-apxs=/usr/sbin/apxs   
  5. make && make install  
  6. cp  ../conf/httpd-jk.conf /etc/httpd/conf.d/jk.conf  

            < b > 编辑配置文件 /etc/httpd/conf.d/jk.conf
                  在文件最后添加
     

  1. JkMount   /*.jsp         wlb              
  2. JkMount   /manager/*     wlb  
  3. JkMount   /*.gif         wlb  
     
             < c >  创建文件 /etc/httpd/conf/workers.properties
 
  1. worker.list=wlb  
  2. worker.wlb.type=lb  
  3. worker.wlb.balance_workers=tomcat1,tomcat2  
  4. worker.tomcat1.type=ajp13  
  5. worker.tomcat1.host=10.10.68.11  
  6. worker.tomcat1.port=8009  
  7. worker.tomcat1.lbfactor=2       #权重  调整负载  
  8. worker.tomcat2.type=ajp13  
  9. worker.tomcat2.host=10.10.68.12  
  10. worker.tomcat2.port=8009  
  11. worker.tomcat2.lbfactor=1  
     
            < d > 重启httpd服务
      
 
  1. service httpd start  

【3】tomcat服务器(IP:10.10.68.11 10.10.68.12)的安装与配置
        1】安装jdk软件  

              < a > 解压包     

 
  1. chmod +x jdk-6u27-linux-i586.bin   
  2. ./jdk-6u27-linux-i586.bin   
  3. mv jdk1.6.0_27/ /usr/local/jdk  
     

               < b >  编辑 /etc/bashrc 文件 配置环境变量        

 
  1. export JAVA_HOME=/usr/local/jdk  
  2. export JAVA_BIN=/usr/local/jdk/bin/  
  3. export PATH=$JAVA_HOME/bin:$PATH  
  4. export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar  
  5. export JAVA_HOME JAVA_BIN PATH CLASSPATH  

               < c >  重载 /etc/bashrc  查看java软件版本  
 
  1. source /etc/bashrc  
  2. java -version  
  
        2】解压tomcat软件包 并启动 
 
  1. tar zxf apache-tomcat-6.0.32.tar.gz   
  2. mv apache-tomcat-6.0.32 /usr/local/tomcat  
  3. cd /usr/local/tomcat/bin   
  4. ./startup.sh   
  
        3】编辑默认首页 为测试准备
             <a> 10.10.68.11
                     vim /usr/local/tomcat/webapps/ROOT/index.jsp
 
  1. <html>  
  2. <body bgcolor="red">  
  3. <center>  
  4. <%= request.getSession().getId() %>  
  5. <h1>Tomcat 1(10.10.68.11)</h1>  
  6. </body>  
  7. </html>  

           <b> 10.10.68.22
    
 
  1. <html>  
  2. <body bgcolor="blue">  
  3. <center>  
  4. <%= request.getSession().getId() %>  
  5. <h1>Tomcat 2(10.10.68.12)</h1>  
  6. </body>  
  7. </html>  

         <c> 测试 运行正常 可以实现负载均衡 但session 不同步

   

      4】 为tomcat服务器安装session同步支持插件

            <a> 安装jar包      

 
  1. cp /session/*.jar /usr/local/tomcat/lib  

                     jar包名称:
         
 
  1. kryo-1.04.jar                    
  2. memcached-session-manager-1.5.1.jar  
  3. kryo-serializers-0.9.jar         
  4. memcached-session-manager-tc6-1.5.1.jar  
  5. libevent-1.4.11-stable.tar.gz  minlog-1.2.jar  
  6. memcached-1.4.5.tar.gz           
  7. msm-kryo-serializer-1.5.1.jar  
  8. memcached-2.5.jar                
  9. reflectasm-1.01.jar  

          <b> 编辑 /usr/local/tomcat/conf/context.xml (在<Context></Context>内)
         
 
  1. <Manager className="de.javakaffee.web.msm.MemcachedBackupSessionManager"  
  2. memcachedNodes="n1:10.10.68.21:11211"  
  3. failoverNodes="n2:10.10.68.22:11211"   #n2为备用  
  4. requestUriIgnorePattern=".*\.(ico|png|gif|jpg|css|js)$"  
  5. transcoderFactoryClass="de.javakaffee.web.msm.serializer.kryo.KryoTranscoderFactory"  
  6. />  

                 若只有一台 
                 memcachedNodes="n1:10.10.68.21:11211"
           
         <c> 重启tomcat服务器       
 
  1. /usr/local/tomcat/bin/shutdown.sh  
  2. /usr/local/tomcat/bin/startup.sh  

【4】memcached服务器(IP:10.10.68.21 10.10.68.22)的安装与配置
        1】 安装支持libevent

 
  1. ar xf libevent-1.4.11-stable.tar.gz  
  2. cd libevent-1.4.11-stable  
  3. ./configure  
  4. make  
  5. make install  

       2】安装服务器软件包memcached
 
  1. tar xf memcached-1.4.5.tar.gz  
  2. cd memcached-1.4.5  
  3. ./configure  
  4. make  
  5. make install  

      3】 启动 memcache 服务  
 
  1. /usr/local/bin/memcached -d -m 10 -u root -l 10.10.68.21  -p 11211 -c 256 -P  /tmp/memcached.pid  

  

 
  1. 参数:  
  2.    -d : 以服务的形式运行  
  3.    -m : 所占内存大小 默认10M   实际工作中要大  
  4.    -u : 以root身份运行  
  5.    -l : 监听IP地址  
  6.    -d : 监听端口  
  7.    -c : 最大并发连接数 默认1024ge  

【5】 配置完成 可以测试 同时解决session 同步问题


【6】 分发器换成nginx (IP:10.10.68.1)后的简单配置
         1】编辑nginx 的配置文件
               vim /usr/local/nginx/conf/nginx.conf

 
  1. upstream jsp_server_pool{  
  2.    server 10.10.68.11:8080;  
  3.    server 10.10.68.12:8080;  
  4.  }     
  5.    
  6.  server {  
  7.     listen  80;   
  8.     access_log  logs/jsp_server_pool.access.log  main;  
  9.    
  10.      location  / {   
  11.        proxy_pass  http://jsp_server_pool;  
  12.        proxy_set_header Host $host;  
  13.        proxy_set_header X-Forwarded-For  $remote_addr;  
  14.     }  
  15.  }  

        2】 重启nginx服务 测试成功。


【7】 总结

 
         1】 实际工作境中可用 NFS 解决 tomcat 服务器的网页一致性问题
         2】可以搭建一台专门的日志服务器,记录日志  

0 0
原创粉丝点击