随着IT行业的发展,linux服务器在企业中应用广泛,人们对linux上的应用服务要求也越来越高,上篇搭建了nginx群集,今天我们来搭建目前用得最多的apache群集,接下来我们亲自来搭建一个属于自己的高性能web服务器,负载均衡服务器。
一、Apache+Tomcat+Session+Memcache
系统版本:Centos 5.3 64位系统
Nginx版本为:httpd-2.2.13.tar.bz2
Jdk版本为:1.6.0_18_64
Tomcat版本为:Apache Tomcat/6.0.30
其他相似版本也可以!安装服务所需的包如下下载路径:本网站集成部分下载:
jdk请到以下网站下载:请选择自己系统版本的jdk。
https://cds.sun.com/is-bin/INTERSHOP.enfinity/WFS/CDS-CDS_Developer- Site/en_US/-/USD/ViewFilteredProducts-SingleVariationTypeFilter【Apache、 Tomcat下载地址,下载到/usr/src下】
cd /usr/src && wget http://blog.mgcrazy.com/download/{httpd-2.2.13.tar.bz2,apache-tomcat-6.0.30.tar.gz }
二、安装Apache
cd /usr/src && tar -jxvf httpd-2.2.13.tar.bz2 && cd httpd-2.2.13/srclib/apr &&./configure --prefix=/usr/local/apr &&make &&make install &&cd ../apr-util/ && ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr &&make&&make install && cd ../../ && ./configure --prefix=/usr/local/apache2 --enable-mods-shared=all --with-mpm=worker --enable-deflate --enable-cache --enable-disk-cache --enable-mem-cache --enable-file-cache --enable-proxy --enable-proxy-ajp --enable-proxy-balancer --enable-proxy-http --enable-rewrite --enable-charset-lite --disable-ipv6 --disable-dav --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util
可以直接拷贝安装apache
【注意*这里安装mod_proxy处理Tomcat jsp页面模块,安装apr、apr-util增加Tomcat处理性能,当然也可以用mod_jk的方式,如果是mod_jk的方式的话,可以参考这篇文章:
http://bbs.linuxtone.org/thread-1195-1-1.html 】
三、Tomcat安装配置:
1、将所需的包下载至/usr/src 目录;首先安装jdk:
chmod o+x jdk* && ./jdk* ;程序包会提示按回车键,我们根据提示安装即可,解压完毕,会在当前目录生成 jdk1.6.0_18 这个文件夹
mkdir -p /usr/java && mv jdk1.6.0_18 /usr/java/下
vi /etc/profile 最后面加入以下语句:
export JAVA_HOME=/usr/java/jdk1.6.0_18
export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH:$HOMR/bin
source /etc/profile //使环境变量马上生效
java –version //查看java版本
cd /usr/src && tar xzf apache-tomcat-6.0.30.tar.gz
解压完成执行:
mv apache-tomcat-6.0.30 /usr/local/tomcat_1 && cp /usr/local/tomcat_1 /usr/local/tomcat_2 -r
【移动到/usr/local下并重命名为tomcat_1文件夹,并cp一个tomcat_2】
部署两个Tomcat群集做负载均衡用!
2、设置tomcat的java变量
cd /usr/local/tomcat_1/bin/ && vi setenv.sh 创建一个setenv.sh脚本文件,添加如下语句即可
JAVA_HOME=/usr/java/jdk1.6.0_18
JAVA_JRE=/usr/java/jdk1.6.0_18/jre
并且拷贝setenv.sh文件到tomcat_2/bin/下:
cp -p /usr/local/tomcat_1/bin/setenv.sh /usr/local/tomcat_2/bin 下即可!
保存退出
检查两个tomcat下bin目录的*.sh 文件是否有可执行权限,如果没有则进入到相应的目录执行 chmod o+x *.sh 即可!
给两个tomcat分别创建不同的目录如下:mkdir -p /usr/webapps/{www_1,www_2}
3、设置Tomcat的 server.xml文件:
两个Tomcat配置的cluster里面的端口分别为4000、4001 ,必须设置成不同的端口;而且得分别设置两个jvmroute名称,一会在apache配置文件中会用到!
四、Tomcat session会话复制
分别在两个tomcat的conf下web.xml文件里面加入如下一行即可:
修改web应用里面WEB-INF目录下的web.xml文件,加入标签,也可以加在应用的web.xml里面如下:
<distributable/>
直接加在</web-app>之前就可以了
这个是加入tomcat的session复制的,做tomcat集群必须需要这一步,否则用户的session就无法正常使用
配置完毕后,我们测试一下广播
java -cp tomcat-replication.jar MCaster 224.0.0.1 45564 Terminal1
java -cp tomcat-replication.jar MCaster 224.0.0.1 45564 Terminal2
如果不报错则能正常广播
tomcat-replication.jar 下载:http://cvs.apache.org/~fhanik/tomcat-replication.jar
如果是两台机器的话,可以用tcpdump 抓包看看!
Tomcat配置完毕,启动两个tomcat,先启动tomcat1,tomcat_1启动日志如下:
信息: Initializing Coyote HTTP/1.1 on http-8080
2011-3-18 19:56:21 org.apache.catalina.startup.Catalina load
信息: Initialization processed in 1088 ms
2011-3-18 19:56:21 org.apache.catalina.core.StandardService start
信息: Starting service Catalina
2011-3-18 19:56:21 org.apache.catalina.core.StandardEngine start
信息: Starting Servlet Engine: Apache Tomcat/6.0.18
2011-3-18 19:56:21 org.apache.catalina.ha.tcp.SimpleTcpCluster start
信息: Cluster is about to start
2011-3-18 19:56:21 org.apache.catalina.tribes.transport.ReceiverBase bind
信息: Receiver Server Socket bound to:/192.168.2.79:4000
2011-3-18 19:56:21 org.apache.catalina.tribes.membership.McastServiceImpl setupSocket
信息: Setting cluster mcast soTimeout to 500
2011-3-18 19:56:21 org.apache.catalina.tribes.membership.McastServiceImpl waitForMembers
信息: Sleeping for 1000 milliseconds to establish cluster membership, start level:4
2011-3-18 19:56:22 org.apache.catalina.tribes.membership.McastServiceImpl waitForMembers
信息: Done sleeping, membership established, start level:4
2011-3-18 19:56:22 org.apache.catalina.tribes.membership.McastServiceImpl waitForMembers
信息: Sleeping for 1000 milliseconds to establish cluster membership, start level:8
2011-3-18 19:56:23 org.apache.catalina.tribes.membership.McastServiceImpl waitForMembers
信息: Done sleeping, membership established, start level:8
2011-3-18 19:56:23 org.apache.catalina.ha.deploy.FarmWarDeployer start
严重: FarmWarDeployer can only work as host cluster subelement!
2011-3-18 19:56:23 org.apache.catalina.ha.session.DeltaManager start
信息: Register manager to cluster element Engine with name Catalina
2011-3-18 19:56:23 org.apache.catalina.ha.session.DeltaManager start
信息: Starting clustering manager at
2011-3-18 19:56:23 org.apache.catalina.ha.session.DeltaManager getAllClusterSessions
信息: Manager [localhost#]: skipping state transfer. No members active in cluster group.
2011-3-18 19:56:23 org.apache.catalina.ha.session.JvmRouteBinderValve start
信息: JvmRouteBinderValve started
2011-3-18 19:56:23 org.apache.coyote.http11.Http11Protocol start
信息: Starting Coyote HTTP/1.1 on http-8080
2011-3-18 19:56:24 org.apache.jk.common.ChannelSocket init
信息: JK: ajp13 listening on /0.0.0.0:8411
2011-3-18 19:56:24 org.apache.jk.server.JkMain start
信息: Jk running ID=0 time=0/42 config=null
2011-3-18 19:56:24 org.apache.catalina.startup.Catalina start
信息: Server startup in 2676 ms
相关推荐
Apache+Tomcat+Session+Memcache 高性能群集搭建 J2EE性能调优 Jboss的优化配置 Memcached分布式缓存 Nginx+Tomcat 动静分离 Nginx+tomcat集群Memcached+Session复制 高性能高并发服务器架构 基于nginx的tomcat负载...
通过以上步骤,你就可以利用memcache实现Apache+Tomcat的session同步,从而构建一个高效且具有高可用性的Web服务集群。需要注意的是,虽然memcache提供了一种简单的方法来处理session同步,但在大型系统中,你可能还...
Apache+Tomcat+Memcache集群部署的关键在于正确配置Apache的负载均衡策略、Tomcat的AJP连接器和Session复制,以及Memcache的Session存储。通过这种方式,你可以构建一个高可用、高性能的Web应用环境,有效缓解数据库...
标题 "64位apache+mysql+php5.5.10+memcache" 提供了我们正在处理一个针对64位Windows操作系统的软件套装,它包括Apache web服务器、MySQL数据库服务器、PHP 5.5.10脚本语言解释器以及Memcached缓存系统。...
【Nginx+Memcache+Tomcat集群(session共享)】是一种常见的高可用性和负载均衡解决方案,主要用于提升Web应用的性能和可扩展性。这个配置利用Nginx作为反向代理和负载均衡器,Memcache作为分布式session存储,而...
在构建高性能、高可用性的Web应用系统时,集群和会话共享是两个关键点。这里我们关注的是如何通过Nginx、Tomcat6和Memcached实现集群中的session共享。这个压缩包“Nginx+tomcat6+memcache所需jar包”提供了实现这一...
Nginx+Tomcat7+Memcached集群Session共享 ...主要是利用memcached-session-manager(下面简称msm)开源tomcat插件改变tomcat原始的session存储机制,将session的存储放到分布式缓存memcache中,从而实现对session的共享
基于nginx+tomcat+memcache的负载均衡架构
总结起来,这个架构结合了Nginx的负载均衡、Tomcat的Web应用处理、Memcache的高效缓存和Kryo的序列化技术,实现了高可用、高性能的Web服务,同时解决了session共享的问题。在实际部署时,还需要根据具体需求进行优化...
### Apache、Tomcat、Memcache与Nginx在分布式网站建设中的应用 #### Apache与Tomcat集成 Apache是一款广泛使用的Web服务器软件,而Tomcat是Apache基金会下的一个开源项目,主要作为Java应用程序的Servlet容器。...
2. `javolution-5.5.1.jar`:这是一个Java高性能和通用性的工具包,包含了一组高效的数据结构和算法,用于在Memcached-session-manager中进行序列化和反序列化操作。 3. `memcached-2.5.jar`:这个可能是错误的...
总的来说,"tomcat7集群session共享memcache依赖包1.8.3"提供了一种有效的方法,解决了在Tomcat7集群中Session共享的问题,通过Memcached作为中间件,实现了跨节点的Session一致性,提高了系统的可用性和用户体验。...
通过上述步骤,我们已经在CentOS 5.5上成功搭建了一个完整的LAMP环境,并集成了Memcache和Zend Optimizer,这将极大地提高Web应用的性能和稳定性。对于开发者而言,这样的环境不仅能够满足日常的开发需求,同时也为...
在构建高性能的Web服务环境中,...总结来说,Nginx+Memcache+Linux+Tomcat集群通过合理利用资源,实现了Web服务的高性能、高可用性和可扩展性。这种架构在处理大量并发请求时表现出色,是现代互联网服务的常见选择。
### Nginx+Apache+MySQL+PHP+Memcached+Squid 搭建门户网站 #### 一、前言与架构概述 随着互联网技术的发展,如何构建一个高效、稳定且能够应对高并发访问的Web服务器成为了许多企业和开发者关注的重点。本文将...
标题中的“tomcat6 memcache session manager session共享 jar包下载”揭示了这个压缩包与Tomcat6服务器有关,特别地,它涉及到一个基于Memcache的Session管理器,用于实现跨多个应用服务器的Session共享。Session在...
在众多集群解决方案中,Memcache+Tomcat集群因其简单易用、高性能而受到广泛欢迎。本手册旨在详细介绍如何搭建基于Memcache+Tomcat的集群环境,并对其关键配置进行说明。 #### 二、基础知识介绍 ##### 2.1 Memcache...
apache:2.2.29、2.4.10 mysql:5.1.73、5.5.40、5.6.21 php:5.2.17、5.3.29、5.4.23、5.5.7 php扩展:memcache、Zend Engine/ OPcache jdk:1.7.0 tomcat:7.0.54 ftp:(yum/apt-get安装) phpwind:8.7 GBK ...
【标题】"nginx+tomcat+memcached例子"揭示...总之,"nginx+tomcat+memcached"是一个常见的高性能Web服务架构,适用于需要处理大量并发请求、优化性能的场景。正确配置和使用这些组件可以大大提高系统的稳定性和效率。
在构建高性能、高可用性的Web应用系统时,整合Nginx、Tomcat和Memcache是常见的一种技术架构。这个程序包“tomcat7+nginx+memcached”旨在实现通过Nginx进行负载均衡,以及利用Memcache来共享Tomcat服务器之间的...