可以通过apache proxy代理或mod_jk.mo模块实现tomcat集群的配置.
一、apache2.4的安装
1、下载apache2.4源码
http://apache.fayea.com//httpd/httpd-2.4.18.tar.gz
把源码保存在目录/usr/local/src目录下
进入目录/usr/local/src
cd /usr/local/src
解压源码:tax -xf httpd-2.4.18.tar.gz
下载apr,apr-util, pcre源码至/usr/local/src 目录下
wget http://archive.apache.org/dist/apr/apr-1.4.5.tar.gz
wget http://archive.apache.org/dist/apr/apr-util-1.3.12.tar.gz
wget http://jaist.dl.sourceforge.net/project/pcre/pcre/8.10/pcre-8.10.zip
解压相关的源码至/usr/local/src目录下。运行以下命令
./configure --prefix /usr/local/apache2 --with-apr=/usr/local/src/apr --with-apr-util=/usr/local/src/apr-util/ --with-pcre=/usr/local/src/pcre
2、安装apache2.4
进入apache2的源码目录:
#make install
3、运行apache2
安装完的apache2存入于目录/usr/local/apache2下面
#cd /usr/local/apache2/bin
#sudo apachectl start
在浏览器中运行 http://localhost
显示It Works表示安装成功。
二、下载 tomcat7
http://mirror.bit.edu.cn/apache/tomcat/tomcat-7/v7.0.67/bin/apache-tomcat-7.0.67.tar.gz
解压到目录/usr/local/
#tar -xf apache-tomcat-7.0.67.tar.gz
改变目录名为:tomcat7
#sudo mv apache-tomcat-7.0.64 tomcat7
复制多一个tomcat目录
#sudo cp tomcat7 tomcat71
三、配置tomcat
进入tomcat其中的一个目录,修改配置文件:conf/server.xml
#sudo vim conf/server.xml
修改如下内容:增加jvmRoute="jvm1"
<Engine name="Catalina" defaultHost="localhost" jvmRoute="jvm1" >
增加如下内容实现集群和Session的复制功能:
<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster" channelSendOptions="8"> <Manager className="org.apache.catalina.ha.session.DeltaManager" expireSessionsOnShutdown="false" notifyListenersOnReplication="true"/> <Channel className="org.apache.catalina.tribes.group.GroupChannel"> <Membership className="org.apache.catalina.tribes.membership.McastService" address="228.0.0.4" port="45564" frequency="500" dropTime="3000"/> <Receiver className="org.apache.catalina.tribes.transport.nio.NioReceiver" address="auto" port="4000" autoBind="100" selectorTimeout="5000" maxThreads="6"/> <Sender className="org.apache.catalina.tribes.transport.ReplicationTransmitter"> <Transport className="org.apache.catalina.tribes.transport.nio.PooledParallelSender"/> </Sender> <Interceptor className="org.apache.catalina.tribes.group.interceptors.TcpFailureDetector"/> <Interceptor className="org.apache.catalina.tribes.group.interceptors.MessageDispatch15Interceptor"/> </Channel> <Valve className="org.apache.catalina.ha.tcp.ReplicationValve" filter=""/> <Valve className="org.apache.catalina.ha.session.JvmRouteBinderValve"/> <Deployer className="org.apache.catalina.ha.deploy.FarmWarDeployer" tempDir="/tmp/war-temp/" deployDir="/tmp/war-deploy/" watchDir="/tmp/war-listen/" watchEnabled="false"/> <ClusterListener className="org.apache.catalina.ha.session.JvmRouteSessionIDBinderListener"/> <ClusterListener className="org.apache.catalina.ha.session.ClusterSessionListener"/> </Cluster>
保存,把此文件拷贝覆盖到另一tomcat的配置文件:tomcat71/conf/server.xml。
打开另一tomcat的配置文件,修改以下相关内容,以免端口冲突。
<Server port="9005" shutdown="SHUTDOWN">
<Connector port="9080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="9443" />
<Connector port="9009" protocol="AJP/1.3" redirectPort="9443" />
<Engine name="Catalina" defaultHost="localhost" jvmRoute="jvm2" >
四、以代理方式配置集群
1、编辑httpd.conf配置文件
#vim conf/httpd.conf增加以下模块(把相关注释去掉):
LoadModule authn_socache_module modules/mod_authn_socache.so LoadModule proxy_module modules/mod_proxy.so LoadModule proxy_connect_module modules/mod_proxy_connect.so LoadModule proxy_ftp_module modules/mod_proxy_ftp.so LoadModule proxy_http_module modules/mod_proxy_http.so LoadModule proxy_ajp_module modules/mod_proxy_ajp.so LoadModule proxy_balancer_module modules/mod_proxy_balancer.so LoadModule slotmem_shm_module modules/mod_slotmem_shm.so LoadModule ssl_module modules/mod_ssl.so LoadModule lbmethod_byrequests_module modules/mod_lbmethod_byrequests.so LoadModule speling_module modules/mod_speling.so LoadModule rewrite_module modules/mod_rewrite.so
把Servername改成如下:
ServerName 127.0.0.1:80
# Virtual hosts
去掉下面的注释
Include conf/extra/httpd-vhosts.conf
在文件的未尾添加如下内容:
ProxyRequests Off #正向代理需要关闭,主要是为了安全 proxyPass / balancer://tomcatcluster/ #表示所有请求都交给 mycluster 来处理 ProxyPassReverse / balancer://tomcatcluster/ #防止内部请求重定向会绕过apache2,这句需要加上 <proxy balancer://tomcatcluster> BalancerMember ajp://127.0.0.1:8009 loadfactor=1 route=jvm1 BalancerMember ajp://127.0.0.1:9009 loadfactor=1 route=jvm2 </proxy>2、编辑conf/extra/httpd-vhosts.conf
添加如下内容:
<VirtualHost *:80> ServerAdmin zengwei.shao@samsung.com ServerName localhost ServerAlias localhost ProxyPass / balancer://tomcatcluster/ stickysession=jsessionid nofailover=On ProxyPassReverse / balancer://tomcatcluster/ ErrorLog "logs/lbtest-error.log" CustomLog "logs/lbtest-access.log" common </VirtualHost>
以代理方式配置完成。
五、通过mod_jk.mo模块配置集群
1.下载mod_jk.mo模块
http://tomcat.apache.org/download-connectors.cgi
解压之后把文件mod_jk.so 拷贝到apache2/modules目录下
2.在apache2/conf/目录下新加文件mod-jk.conf
把以下内容添加到文件mod-jk.conf中
#目录下的文件名保持一致. LoadModule jk_module /usr/local/apache2/modules/mod_jk.so #指定workers.properties文件目录. JkWorkersFile /usr/local/apache2/conf/workers.properties #指定哪些请求由tomcat处理,controller为workers.properties文件里指定的负载控制器. JkMount /* controller #JkMount /*.html controller #JkMount /*.jsp controller #JkMount /*.do controller #JkMount /servlet/* controller #JkUnMount /index.html controller
3.在apache2/conf/目录下新加文件workers.properties
把以下内容添加到文件workers.properties中
增加如下内容:
worker.list = controller #不指定报错Could not find a worker for worker name=controller #========jvm1======== worker.jvm1.port=8009 worker.jvm1.host=localhost worker.jvm1.type=ajp13 worker.jvm1.lbfactor=1 #========jvm2======== worker.jvm2.port=9009 worker.jvm2.host=localhost worker.jvm2.type=ajp13 worker.jvm2.lbfactor=1 #========controller负载平衡控制器======== worker.controller.type=lb #指定controller类型 worker.controller.balanced_workers=jvm1,jvm2#指定负载平衡的tomcat worker.controller.sticky_session=false #指定是否粘性session worker.controller.sticky_session_force=false worker.connection_pool_size=3000 worker.connection_pool_minsize=50 worker.connection_pool_timeout=50000 # session配置说明: #当sticky_session,sticky_session_force都为true时不复制session, #sticky_session_force=false指集群中某台服务器多次请求没有响应,则转发到其它服务器处理, #sticky_session=false不使用粘性session,同时配置不复制session时,注意转发请求后可能会找不到原来的session.
4.修改apache2/conf/httpd.conf
在文件的未尾加下如下内容:
include /usr/local/apache2/conf/mod-jk.conf
六、修改应用的web.xml
增加如下内容:
<distributable/>
七、apache配置ssl证书
打开apache配置文件
vim conf/httpd.conf
增加下面模块:
LoadModule ssl_module libexec/apache2/mod_ssl.so
加入如下配置:
Include conf/extra/httpd-ssl.conf
修改extra/httpd-ssl.conf配置
<VirtualHost _default_:443>下增加如下内容:
#ssl也具有集群功能:
JkMount /* controller
#证书及密钥
SSLCertificateFile "/usr/local/ssl/certs/server.cer"
SSLCertificateKeyFile "/usr/local/ssl/private/server-key.pem"
有关证书和密钥的生成,请参考:
http://szlxh002.iteye.com/admin/blogs/2277307
最后,有关的配置文件,参考bak.rar
相关推荐
这个压缩包"apache-tomcat-7.0.106.zip"是Apache Tomcat的7.0.106版本,从Apache官方网站获取,确保了其来源的可靠性与安全性。在本文中,我们将深入探讨Tomcat 7.0.106版本中的关键知识点,以及如何进行安装、配置...
Tomcat7.0是一款广泛应用于Web开发领域的开源Java Servlet容器,由Apache软件基金会维护。它遵循Java EE规范,主要支持Servlet、JSP和JavaServer Pages等技术。作为轻量级应用服务器,Tomcat以其简单易用、性能稳定...
3. **安装与配置**: 对于Windows用户,下载的apache-tomcat-7.0.65解压后,只需设置环境变量`CATALINA_HOME`指向Tomcat的安装目录,即可开始使用。为了启动和停止Tomcat,可以运行bin目录下的`startup.bat`和`...
【Tomcat 7.0】是一款广泛使用的开源Java Servlet容器,由Apache软件基金会开发和维护。它是基于Java的Web应用程序服务器,特别适用于运行Java EE Web应用程序。Tomcat 7.0是其7.x系列的一个重要版本,引入了许多新...
### Apache + Tomcat 集群配置详解 #### 背景介绍 随着互联网应用规模的不断增大,单台服务器已经难以满足日益增长的服务需求。为了提高系统的可用性与性能,构建一个高可用且高性能的应用架构变得尤为重要。在这种...
Apache Tomcat 7.0是Java Servlet和JavaServer Pages(JSP)的开源Web应用服务器,由Apache软件基金会开发并维护。它是一个轻量级的应用服务器,主要用于运行Java的动态Web内容,如JSP和Servlet。Tomcat 7.0免安装版...
2. **安装与配置**:在Windows环境下,用户可以通过解压提供的"apache-tomcat-7.0.64"文件来安装Tomcat。配置主要涉及修改`conf/server.xml`文件,设置端口号、应用目录等参数。此外,还需配置环境变量,例如设置...
这个“tomcat7.0全文档”包含了关于如何安装、配置、管理和优化Tomcat7.0的所有必要信息。 一、Tomcat简介 Tomcat是由Apache软件基金会开发的Java Servlet和JavaServer Pages(JSP)容器,它是Java EE Web应用的...
【标题】"Tomcat7.0-64位"指的是Apache Tomcat服务器的7.0版本,专为64位操作系统设计。Tomcat是Apache软件基金会的一个开源项目,它实现了Java Servlet和JavaServer Pages(JSP)规范,是运行Java Web应用的Web...
- **Session复制**:通过集群配置,实现在不同Tomcat实例间共享用户会话信息。 8. **集成开发环境(IDE)支持** - Eclipse、IntelliJ IDEA等IDE提供了与Tomcat的集成,方便调试和部署Web应用。 9. **故障排查** ...
Apache Tomcat 7.0.107 是一个开源的Java Servlet容器,它实现了Java EE Web应用程序规范,特别是Servlet和JSP(JavaServer Pages)标准。这个版本是Apache Tomcat服务器的一个稳定版本,旨在提供高性能、可靠性和...
2. **安装与配置** - **下载与解压**:从Apache官方网站下载apache-tomcat-7.0.63压缩包,解压到指定目录。 - **环境变量设置**:设置`CATALINA_HOME`环境变量指向Tomcat的安装目录。 - **启动与停止**:执行`bin...
2. "tomcat7.0 http及ssl及集群配置.docx" - 这个文档将涵盖HTTP服务的基础设置,然后深入到SSL配置,可能还会涉及如何设置Tomcat的集群以实现负载均衡和高可用性。 3. "Readme.txt" - 通常包含对压缩包内容的简短...
2. **配置管理**:Tomcat的配置主要通过`conf`目录下的文件完成,如`server.xml`定义了服务器的全局配置,包括端口设置、Connector(连接器)配置等;`context.xml`用于配置特定Web应用程序的上下文;`web.xml`是Web...
Apache Tomcat 7.0.109 是一个开源的Java Servlet容器,它实现了Java EE的Web应用程序规范,特别是Servlet和JSP标准。这个安装包是用于在服务器上部署和运行基于Java技术的Web应用程序的关键组件。以下是关于Tomcat ...
2. 配置环境变量:根据系统需求设置CATALINA_HOME环境变量指向Tomcat安装目录。 3. 配置服务器:修改conf/server.xml配置文件,设置端口号、默认Web应用目录等。 4. 启动与停止:通过bin目录下的startup.sh或startup...
Apache Tomcat是一个开源的Java Servlet容器,主要用于实现JavaServer Pages (JSP)、...由于Tomcat是一个功能丰富的服务器,这里只是涵盖了基础部分,更深入的使用可能涉及到集群配置、负载均衡、安全策略等多个方面。