一、搭建apache server服务器

1、apache 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)、基础知识补充

SELinux:Security Enhencedlinux,是一种权限机制,分为DAC、MAC,MAC就是通过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策略的引言

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

5)、挑选jar包

根据采用序列化方式的不同,分为kryo、javolution两种方式,下面第一种方式需要的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环境,并配置环境变量:如下图

安装apache的tomcat,我的版本是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中的值也没有丢失。

[置顶] 搭建apache+tomcat+memcached集群环境的更多相关文章

  1. Tomcat:基于Apache+Tomcat的集群搭建

    根据Tomcat的官方文档说明可以知道,使用Tomcat配置集群需要与其它Web Server配合使用才可以完成,典型的有Apache和IIS. 这里就使用Apache+Tomcat方式来完成基于To ...

  2. apache+tomcat分布式集群搭建

    今天搭建apche+tomcat分布式集群,遇到很多问题,在网上找到的很多都不成功,然后和同事一起研究了一下,最终搭建成功了.做个笔记,以备自己以后参考. 1,下载apache.在下载Apache(2 ...

  3. Apache+Tomcat +mod_proxy集群负载均衡及session

      序言: 在玩Apache+Tomcat +mod_jk集群负载均衡及session的时候发现,还有一种方式可以实现,就是网上各位大牛们说的mod_proxy反向代理. 实在弄的我的知识细胞洋洋.实 ...

  4. Nginx+Tomcat+MemCached 集群配置手册

    系统实施文档 Nginx+Tomcat+MemCached 集群配置手册 目    录 第1章   概述 1.1   目标 互联网的快速发展带来了互联网系统的高负载和高可用性, 这要求我们在设计系统架 ...

  5. 基于CentOS与VmwareStation10搭建Oracle11G RAC 64集群环境:2.搭建环境-2.7. 配置资源与参数

    2.7.配置资源与参数 2.7.1. 修改主机名称 [root@linuxrac1 ~]# cd /etc/sysconfig [root@linuxrac1 sysconfig]# vi netwo ...

  6. 基于CentOS与VmwareStation10搭建Oracle11G RAC 64集群环境:2.搭建环境-2.6. 安装Oracle所依赖的必要包

    2.6. 安装Oracle所依赖的必要包 2.6.1. 检查Oracle所依赖的必要rpm包 [root@localhost /]#rpm -q binutils compat-libstdc elf ...

  7. 基于CentOS与VmwareStation10搭建Oracle11G RAC 64集群环境:2.搭建环境-2.5. 配置网络

    2.5. 配置网络 2.5.1. 配置网络 Oracle Rac数据库涉及到公用网络和私有网络,因此要做网络划分和IP地址规划,下表列出了要安装的RAC数据库对应的IP地址.主机名以及网络连接类型: ...

  8. 基于CentOS与VmwareStation10搭建Oracle11G RAC 64集群环境:2.搭建环境-2.4. 安装JDK

    2.4.安装JDK 2.4.1.准备JDK 在百度搜索:JDK下载 2.4.2.上传JDK put E:\软件安装文件\jdk-8u11-linux-x64.rpm /home/linuxrac1/D ...

  9. 基于CentOS与VmwareStation10搭建Oracle11G RAC 64集群环境:2.搭建环境-2.3配置共享磁盘

    2.3.配置共享磁盘 2.3.1.创建共享磁盘 在cmd中进入WMware Workstation 10.0 安装目录: 1.创建存储Oracle Clusterware文件  (Oracle Clu ...

随机推荐

  1. Learn Python The Hard Way, 2nd Edition 尾声

    看完了这本书,你决定继续做编程.也许它能成为你的一个职业,也许它能成为你的一项爱好.但你需要一些指导,确保自己不会走错了道路,或帮助你从这个新业余爱好中得到最大的乐趣. 我做了很久的编程.久的你都想象 ...

  2. C#语言基础之运算符

    运算符分类.优先级 运算符:一.数学运算符:+,-,*,/,++,-- 示例1: 示例2: 示例3: 1.递增运算符:++(1)前缀递增运算符    int x=4;    x++;//输出结果,x的 ...

  3. Asp.Net MVC4.0 官方教程 入门指南之四--添加一个模型

    Asp.Net MVC4.0 官方教程 入门指南之四--添加一个模型 在这一节中,你将添加用于管理数据库中电影的类.这些类是ASP.NET MVC应用程序的模型部分. 你将使用.NET Framewo ...

  4. WebRTC–getUserMedia & Canvas

    下面是一个使用getUserMedia接口和Canvas的drawImage方法实现的截图功能(截取视频中的一帧). 基本思路是这样子的: getUserMedia获取一个MediaStream, s ...

  5. Collection用法

    Queue接口与List.Set同一级别,都是继承了Collection接口.LinkedList实现了Queue接 口.在队列这种数据结构中,最先插入的元素将是最先被删除的元素:反之最后插入的元素将 ...

  6. 数据切分——Atlas读写分离Mysql集群的搭建

    关于数据切分的原理可以参见博客: http://blog.csdn.net/jhq0113/article/details/44226789 关于Atlas的介绍可以参见博客: http://blog ...

  7. gcc支持c99验证

    gcc3.0以上的版本都是支持C99标准的, 但是编译程序的时候需要加上    -std=c9  才可以: 一下程序是验证gcc是否支持c99标准的: #include <stdio.h> ...

  8. <转> 30 个有关 Python 的小技巧

    目录[+] 1.1 拆箱 1.2 拆箱变量交换 1.3 扩展拆箱(只兼容python3) 1.4 负数索引 1.5 切割列表 1.6 负数索引切割列表 1.7指定步长切割列表 1.8 负数步长切割列表 ...

  9. 面向对象程序设计-C++ Default constructor & Copy constructor& Destructor & Operator Overloading【第九次上课笔记】

    先上笔记内容吧: 这次上课的内容有关 构造函数 析构函数 运算符重载 return * this 内容很细,大家好好回顾笔记再照应程序复习吧 :) #include <iostream> ...

  10. Ural 1068 - Sum

    Your task is to find the sum of all integer numbers lying between 1 and N inclusive. Input The input ...