`

CentOS下Apache + Tomcat集群

阅读更多
1.以下几个包是需要下载的
Tomcat http://apache.etoak.com/tomcat/tomcat-7/v7.0.27/bin/apache-tomcat-7.0.27.tar.gz
Apr  http://labs.renren.com/apache-mirror//apr/apr-1.4.6.tar.gz
Apr Util http://apache.etoak.com//apr/apr-util-1.4.1.tar.gz
Apache Http Server http://labs.renren.com/apache-mirror//httpd/httpd-2.2.22.tar.gz
Connector    http://www.apache.org/dist/tomcat/tomcat-connectors/jk/tomcat-connectors-1.2.35-src.tar.gz

2.安装APR
[root@localhost app]#tar -zxvf apr-1.4.6.tar.gz
[root@localhost app]#cd apr-1.4.6

[root@localhost apr-1.4.6]#./buildconf
buildconf: checking installation...
buildconf: python version 2.6.5 (ok)
buildconf: autoconf not found.
           You need autoconf version 2.59 or newer installed
           to build APR from SVN.
[root@localhost apr-1.4.6]#yum install autoconf

[root@localhost apr-1.4.6]#./buildconf
buildconf: libtool not found.
           You need libtool version 1.4 or newer installed
           to build APR from SVN.
[root@localhost apr-1.4.6]#yum install libtool

[root@localhost apr-1.4.6]#./configure

[root@localhost apr-1.4.6]# make
-bash: make: command not found
[root@localhost apr-1.4.6]#yum install make

[root@localhost apr-1.4.6]# make
[root@localhost apr-1.4.6]# make install


3.安装APR Utils
[root@localhost app]# tar -zxvf apr-util-1.4.1.tar.gz
[root@localhost app]# cd apr-util-1.4.1
[root@localhost apr-util-1.4.1]#./buildconf --with-apr=/app/apr-1.4.6
[root@localhost apr-util-1.4.1]# ./configure --with-apr=/app/apr-1.4.6
[root@localhost apr-util-1.4.1]#make
[root@localhost apr-util-1.4.1]#make install


4.安装Apache Http Server
[root@localhost app]# tar -zxvf httpd-2.2.22.tar.gz
[root@localhost app]# cd httpd-2.2.22
[root@localhost httpd-2.2.22]# ./buildconf
[root@localhost httpd-2.2.22]# ./configure
[root@localhost httpd-2.2.22]# make
[root@localhost httpd-2.2.22]# make install


5.安装Apache 和 Tomcat 的连接器Connector
[root@localhost app]tar -zxvf tomcat-connectors-1.2.35-src.tar.gz
[root@localhost app]cd tomcat-connectors-1.2.35-src/native
[root@localhost native]# ./configure --with-apxs=/usr/local/apache2/bin/apxs
[root@localhost native]#make
[root@localhost native]#make install

注意:该tar.gz文件里面其实有很多关于配置的详细文档,如果出现问题可以再其中进行查阅,另外,我的编译应该说是成功了,但是生成的文件却不能用,后来是去网上下载了个已经编译好了的才解决的


6.配置Apache Http Server
原文是说Apache 的httpd.conf是在/usr/local/apache2/conf/目录下面,但是实际上我发现控制Apache的文件却是在/etc/httpd/conf/目录下面,这点还请高手赐教

在文件最后加上下面一句话就可以了
Include conf/mod_jk.conf


7.在httpd.conf文件同一目录下建立mod_jk.conf文件,内容如下:
#load mod_jk Module
LoadModule jk_module /usr/local/apache2/modules/mod_jk.so

#arrange workers.properties path
JkWorkersFile conf/workers.properties
JkLogFile /usr/local/apache2/logs/mod_jk.log
JkLogLevel info

JkMount /* controller
JkMount /*.jsp controller
JkMount /*.action controller
JkMount /*.do controller
#JkMount /jkstatus status


8.在httpd.conf同目录下新建 workers.properties文件,内容如下:

worker.list = controller,tomcat1,tomcat2  #server 列表

#========tomcat1========
worker.tomcat1.port=8009         #ajp13 端口号,在tomcat下server.xml配置,默认8009
worker.tomcat1.host=localhost  #tomcat的主机地址,如不为本机,请填写ip地址
worker.tomcat1.type=ajp13
worker.tomcat1.lbfactor = 1   #server的加权比重,值越高,分得的请求越多

#========tomcat2========
worker.tomcat2.port=9009       #ajp13 端口号,在tomcat下server.xml配置,默认8009
worker.tomcat2.host=localhost  #tomcat的主机地址,如不为本机,请填写ip地址
worker.tomcat2.type=ajp13
worker.tomcat2.lbfactor = 1   #server的加权比重,值越高,分得的请求越多

#========controller,负载均衡控制器========
worker.controller.type=lb
worker.controller.balance_workers=tomcat1,tomcat2   #指定分担请求的tomcat
worker.controller.sticky_session=1


9.解压apache-tomcat-7.0.27.tar.gz,并copy一份,home目录分别命名为tomcat1,tomcat2
[root@localhost app]# tar -zxvf apache-tomcat-7.0.27.tar.gz
[root@localhost app]# mv apache-tomcat-7.0.27 tomcat1
[root@localhost app]# cp -R tomcat1/ tomcat2



10.更改tomcat2的server.xml文件,由于我的两个tomcat是在同一个服务器上,所以要修改下面红颜色的端口,以防端口冲突.

<Server port="9005" shutdown="SHUTDOWN">


<Connector port="9080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />

这个是APJ端口:
  <Connector port="9009" protocol="AJP/1.3" redirectPort="8443" />


11.下面是关于负载均衡的配置,在2个tomcat的server.xml中:
<!-- You should set jvmRoute to support load-balancing via AJP ie :
<Engine name="Catalina" defaultHost="localhost" jvmRoute="jvm1">
-->
<Engine name="Catalina" defaultHost="localhost" jvmRoute="tomcat2"><!--tomcat2将与tomcat1黏贴session 在这里指定黏贴对象-->


下面这段代码也是必须的,注意端口不能重复:

<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"  
     channelSendOptions="6"> 
      
      
     <Manager className="org.apache.catalina.ha.session.DeltaManager" 
         expireSessionsOnShutdown="false" 
         notifyListenersOnReplication="true"/> 
     <!-- 
     <Manager className="org.apache.catalina.ha.session.BackupManager" 
         expireSessionsOnShutdown="false" 
         notifyListenersOnReplication="true" 
         mapSendOptions="6"/> 
     --> 
     <Channel className="org.apache.catalina.tribes.group.GroupChannel"> 
         <Membership className="org.apache.catalina.tribes.membership.McastService" 
             address="228.0.0.5" 
             port="45564" 
             frequency="500" 
             dropTime="3000"/> 
        <Receiver className="org.apache.catalina.tribes.transport.nio.NioReceiver" 
             address="auto" 
             port="4000"  <!--tomcat1将与tomcat2的端口不同-->
             selectorTimeout="100" 
             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=".*/.gif;.*/.js;.*/.jpg;.*/.png;.*/.htm;.*/.html;.*/.css;.*/.txt;"/>  
     <ClusterListener className="org.apache.catalina.ha.session.JvmRouteSessionIDBinderListener"/> 
     <ClusterListener className="org.apache.catalina.ha.session.ClusterSessionListener"/> 
  </Cluster>


这是最后我遇到的问题和解决方法:
如果mod_jk.so权限组出现问题请使用一下命令:

chcon -t httpd_modules_t /usr/local/apache2/modules/mod_jk.so


错误: undefined symbol: ap_get_server_description
解决办法:下载编译好的文件http://archive.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/linux/jk-1.2.30/i586/

如果启动Httpd失败但是没有错误信息,要检查/etc/httpd/logs下的error_log文件

如果是因为SELinux的问题,可以关闭之


转自:http://blog.csdn.net/daihui05/article/details/7524745
分享到:
评论

相关推荐

    Linux下Apache+Tomcat集群指南

    ### Linux下Apache+Tomcat集群指南 #### 一、系统集群环境安装指南 **1.1 文档说明** 本文档旨在详细介绍如何在Linux环境下搭建Apache+Tomcat集群,并实现负载均衡及Session复制等功能。该文档适合希望提高Web...

    linuxCentos下apache+tomcat集群相关配置文件

    该资源为博客:http://blog.csdn.net/cy104204/article/details/14229275 附件资料,参考研究,共同进步。

    Liunx 下 nginx+tomcat 集群建设

    总结来说,Linux环境下通过Nginx+Tomcat集群建设,可以构建出一个高效、可扩展的Web服务架构,同时利用Nginx的反向代理功能和负载均衡策略,确保系统的稳定性和性能。在实际操作中,还需要根据具体业务需求进行定制...

    Linux环境搭建 Apche+Tomcat 集群负载均衡

    ### Linux环境下Apache+Tomcat集群负载均衡搭建详解 在企业级应用中,为了提升服务器的稳定性和处理能力,常采用Apache+Tomcat集群的方式来进行负载均衡。本文将详细介绍如何在Linux环境下搭建Apache+Tomcat集群...

    Virtualbox安装centos 图解

    12、CentOS安装apache + tomcat集群(一).... 124 12、CentOS安装apache + tomcat集群(二).... 131 常见问题:安装Apache提示APR not found的解决办法.... 135 常见问题:关于CentOS安装SAMBA服务器在windows...

    Nginx+KeepAlived+Tomcat负载架构

    mv apache-tomcat-7.x /opt/tomcat cd /opt/tomcat/bin sh startup.sh ``` #### 四、配置详解 ##### 1. Nginx配置 - **配置文件**:编辑`/etc/nginx/nginx.conf`文件,添加负载均衡规则。 - 可以使用`ip_hash...

    apache+tomcat整合配置

    如果需要更高可用性,可以将多个Tomcat实例配置成集群,通过Apache的mod_proxy_balancer模块进行负载均衡。这将提高服务的容错能力和扩展性。 8. **日志管理** 考虑将Apache和Tomcat的日志分开管理,以便更好地...

    Nginx+Redis+Tomcat集群所需Jar包

    3. **Tomcat集群**: Tomcat是Apache软件基金会的Jakarta项目下的一个开源Java Servlet容器,支持Servlet和JSP标准。在集群配置中,多个Tomcat实例运行相同的应用,通过Nginx进行负载均衡。为了实现session共享,需要...

    linux下apache+tomact基于集群负载均衡session复制

    ### Linux 下 Apache+Tomcat 基于集群负载均衡 Session 复制 #### 一、概述 在现代 Web 应用开发中,为了提高服务的可用性和响应速度,常常会采用集群技术。其中,Apache 和 Tomcat 组合是常用的方案之一。本篇...

    Linux中Apache+Tomcat+JK实现负载均衡和群集的完整过程

    总之,Linux环境下Apache+Tomcat+JK的负载均衡和群集配置是一个涉及多个组件集成的过程,需要对Web服务器、应用服务器和连接器的内部工作原理有深入理解。这个过程中,正确配置和调试是成功的关键,同时,随着技术的...

    nginx + tomcat集群搭建

    ### Nginx + Tomcat集群搭建详解 #### 环境配置 - **操作系统**: Centos 6 x86_64 - **Nginx 服务器 IP**: 192.168.2.100 - **Tomcat 服务器 IP**: - Tomcat1: 192.168.2.110 - Tomcat2: 192.168.2.111 - ...

    Apache的Tomcat负载均衡和集群(linux,centos)

    Apache 的 Tomcat 负载均衡和集群 ( linux, centos) jkmod

    CentOS系统下Apache负载均衡、Tomcat集群所需安装包

    CentOS系统下Apache负载均衡、Tomcat集群所需安装包:apache-tomcat-8.0.15.tar.gz,autoconf-2.69.tar.xz,httpd-2.2.9.tar.gz,libtool-2.4.2.tar.gz,tomcat-connectors-1.2.37-src.tar.gz,zlib

    Nginx+Tomcat负载均衡企业实战.docx

    * Tomcat 是 Apache 基金会旗下的开源的、免费的 WEB 服务器软件 * Tomcat WEB 软件可以处理静态网页和动态网页 * JSP(JAVA Sever Page)是基于 JAVA 语言开发的动态网页 * 在企业生产环境中,通常会将 Nginx 和 ...

    集群(linux+tomcat+mod_jk)

    集群技术在IT行业中被广泛应用,特别是在高可用性和负载均衡的需求下。本集群配置教程主要针对Linux操作系统、Apache HTTP Server、Tomcat应用服务器以及mod_jk模块进行深入讲解,旨在帮助你构建一个稳定、高效的...

    Apache2.2.x+Tomcat6.x+jk2.x做集群配置

    Apache2.2.x + Tomcat6.x + jk2.x 集群配置教程 在互联网服务中,为了提供高可用性和负载均衡,通常会采用集群技术。Apache HTTP Server(通常简称为Apache)与Tomcat的结合是常见的Web服务器与应用服务器组合。...

    linux+java+tomcat+apache环境搭建.pdf

    同时,如果需要集群部署,通过设置org.apache.catalina.ha.tcp.SimpleTcpCluster集群类支持简单的TCP集群操作。 最后,确保所有的设置生效,需要重新启动Linux系统或者重启服务,使所有的配置更改生效。 在整个...

    Nginx+Tomcat+Memcached-Session-Manager集群Session共享

    ### Tomcat集群的搭建与配置 为了实现Session共享,需要对多个Tomcat实例进行配置: 1. 复制Tomcat实例,创建多个Tomcat服务节点。 2. 修改每个Tomcat实例的配置文件(server.xml),确保每个实例监听不同的端口。 3...

    nginx+tomcat高可用、高性能jsp集群

    本文将详细介绍如何使用Nginx作为负载均衡器,与Tomcat配合,构建一个支持JSP的集群环境。这个组合可以有效地分发用户请求,提高系统的稳定性和响应速度。 ### 1. 初始化系统 首先,我们需要一个稳定的系统环境。...

    CentOS下apache负载均衡与JBoss集群配置

    在本文中,我们将讨论在CentOS操作系统环境下,如何进行Apache负载均衡与JBoss集群的配置。负载均衡和集群配置是提高网站可用性、扩展性和性能的关键技术。通过这篇文章,我们会了解到详细的配置步骤,以及它们在...

Global site tag (gtag.js) - Google Analytics