设为首页 收藏本站
查看: 694|回复: 0

[经验分享] Apache+Tomcat+Session+Memcache 高性能群集搭建

[复制链接]

尚未签到

发表于 2017-1-8 11:33:39 | 显示全部楼层 |阅读模式
  随着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 

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-325501-1-1.html 上篇帖子: Apache Server 搭建一个简单的图片服务器 下篇帖子: 使用Apache HttpClient访问JSP发送GET和POST请求
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表