httpd+tomcat+memcached实现session保持


本节我将带大家认识tomcat以及如何基于memcached实现tomcat的会话保持。好了废话不多说,下面我们就开始了。

tomcat的介绍

Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。实际上Tomcat 是Apache 服务器的扩展,但它是独立运行的,所以当你运行tomcat 时,它实际上作为一个与Apache 独立的进程单独运行的。通常在我们的应用过程中,我们让Apache 来处理HTML页面请求,而Tomcat 实际上运行JSP 页面和Servlet。另外,Tomcat和IIS等Web服务器一样,具有处理HTML页面的功能,另外它还是一个Servlet和JSP容器,独立的Servlet容器是Tomcat的默认模式。不过,Tomcat处理静态HTML的能力不如Apache服务器。

tomcat的安装

首先我们要做到是部署Java环境,只有安装JDK即可。

这里我已经有下好的JDK了

我使用的是jdk-7u9-linux-x64.rpm这个版本

直接安装即可。

[root@TomcatA ~]# rpm -ivh jdk-7u9-linux-x64.rpm

tomcat的话我这里也是下载好了。直接解压就可以用了apache-tomcat-7.0.55.tar.gz

[root@TomcatA ~]# tar xf apache-tomcat-7.0.55.tar.gz -C /usr/local/            我们把它放在/usr/local/ 

一般我们都做个链接

[root@TomcatA local]# ln -sv apache-tomcat-7.0.55/ tomcat

下面修改下环境变量

[root@TomcatA local]# cat /etc/profile.d/java.sh                      这个是Java的变量

JAVA_HOME=/usr/java/latest  
PATH=$JAVA_HOME/bin:$PATH    
export JAVA_HOME PATH

[root@TomcatA local]# cat /etc/profile.d/tomcat.sh                  这个是tomcat的

export CATALINA_HOME=/usr/local/tomcat  
export PATH=$CATALINA_HOME/bin:$PATH

好了下面就可以使用Catalina.sh 来启动了                                      Catalina.sh是服务启动脚本

[root@TomcatA local]# catalina.sh start  
Using CATALINA_BASE:  /usr/local/tomcat    
Using CATALINA_HOME:  /usr/local/tomcat    
Using CATALINA_TMPDIR: /usr/local/tomcat/temp    
Using JRE_HOME:        /usr/java/latest    
Using CLASSPATH:      /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar    
Tomcat started.

这样tomcat就启动了。

[root@TomcatA local]# netstat -tnlp  
Active Internet connections (only servers)    
Proto Recv-Q Send-Q Local Address              Foreign Address            State      PID/Program name 
tcp        0      0 0.0.0.0:111                0.0.0.0:*                  LISTEN      1473/rpcbind       
tcp        0      0 0.0.0.0:22                  0.0.0.0:*                  LISTEN      1726/sshd         
tcp        0      0 127.0.0.1:631              0.0.0.0:*                  LISTEN      1578/cupsd         
tcp        0      0 127.0.0.1:25                0.0.0.0:*                  LISTEN      1823/master       
tcp        0      0 0.0.0.0:46718              0.0.0.0:*                  LISTEN      1549/rpc.statd     
tcp        0      0 :::36716                    :::*                        LISTEN      1549/rpc.statd     
tcp        0      0 :::111                      :::*                        LISTEN      1473/rpcbind       
tcp        0      0 :::8080                    :::*                        LISTEN      2147/java         
tcp        0      0 :::22                      :::*                        LISTEN      1726/sshd         
tcp        0      0 ::1:631                    :::*                        LISTEN      1578/cupsd         
tcp        0      0 ::1:25                      :::*                        LISTEN      1823/master       
tcp        0      0 ::ffff:127.0.0.1:8005      :::*                        LISTEN      2147/java         
tcp        0      0 :::8009                    :::*                        LISTEN      2147/java 

通过上面的结果我们可以看出该服务启动了3个端口:8080  8009    8005

 

在 Ubuntu 12.04 LTS 上通过 Tomcat 部署 Solr 4

 

Ubuntu下部署Solr(4.4)到Tomcat(7.0.53)

 

Linux下Apache与多个Tomcat 集群负载均衡

 

Nginx Tomcat 集群负载均衡解决笔记

 

实例详解Tomcat组件安装+Nginx反向代理Tomcat+Apache使用mod_jk和mod_proxy反向代理和负载均衡

 

CentOS 6.5下利用Rsyslog+LogAnalyzer+MySQL部署日志服务器

 

Apache+Tomcat 环境搭建(JK部署过程)

 

下面我们就可以直接通过浏览器看下了。通过8080端口访问。

image

OK,tomcat服务以及可以启用了。

 

那么下面我们就来看看如何构建Apache+tomcat+memcached架构

实验:  
前端Apache:192.168.1.200

tomcat节点:192.168.1.201(TomcatA),192.168.1.202(TomcatB)  
memcached节点(一主一备实现高可用):192.168.1.201, 192.168.1.202    (机器内存有限,所以就没有用独立的主机了)    
实验拓扑图:

image 

前端Apache服务器配置

我们这里用到的是Apache的代理模块,由于centos6.5中内核支持该代理模块,因此我们只需要直接yum安装httpd然后再配置文件中加入以下文件即可:

[root@bogon ~]# vim /etc/httpd/conf.d/mod_proxy.conf    
<Proxy balancer://lbcluster1>    
BalancerMember http://192.168.1.202:8080 loadfactor=1
BalancerMember http://192.168.1.201:8080 loadfactor=1   
ProxySet lbmethod=byrequests    
</Proxy>

ProxyVia Off  
ProxyRequests Off  
ProxyPass / balancer://lbcluster1/  
ProxyPassReverse / balancer://lbcluster1/

memcached服务器

缓存服务器直接在2个节点上yum安装即可,非常简单

yum install memcached

安装好之后启动服务

[root@localhost ~]# service memcached start  
Starting memcached:                                        [  OK  ]

可以看到11211端口打开

[root@localhost ~]# ss -tnl  
State      Recv-Q Send-Q                      Local Address:Port                        Peer Address:Port    
LISTEN      0      128                                    :::11211                                :::*   
LISTEN      0      128                                    *:11211                                  *:* 

 

 

tomcat端配置

最关键的就是tomcat的配置了

实现会话保持我们用到的是memcached-session-manager,而他需要一下几个类库,我已经下载好了

这个是项目官方地址,可以到这里进行下载http://code.google.com/p/memcached-session-manager/

[root@TomcatA msm]# ls  
javolution-5.5.1.jar               

memcached-session-manager-tc7-1.8.2.jar 

spymemcached-2.10.2.jar 

memcached-session-manager-1.8.2.jar 

msm-javolution-serializer-1.8.2.jar

将这几个类库放到tomcat的lib库中,

[root@TomcatA msm]# cp * /usr/local/tomcat/lib/

进去看下,确保复制成功

更多详情见请继续阅读下一页的精彩内容:  

  • 1
  • 2
  • 下一页

相关内容