`

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
分享到:
评论

相关推荐

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

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

    Virtualbox安装centos 图解

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

    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高可用、高性能jsp集群

    目的:搭建高可用、高性能的jsp集群 二、初始化系统 #init system 系统环境: CentOS 5.5(定制安装) 组件: Base Development Libraries Development Tools Editors Text-based Internet ./init_system.sh #此脚本...

    Apache2.2以上版本与Tomcat整合配置及负载均衡实现

    下面是实现2个tomcat实现负载均衡,如果只有一个则可删除一个 apache2.2以上版本,无需使用jk_mod来集成tomcat,直接使用ajp,很方便。 修改apache配置文件httpd.conf 启用mod_proxy_ajp 代码如下: #LoadModule ...

    apache集群部署.zip

    资源包含apache服务器安装包,不包含tomcat安装包,可以自行下载,包含支持centos7离线安装apache所需依赖,apr-1.4.5.tar、apr-util-1.3.12.tar、pcre-8.10.tar或pcre-8.44.tar

    apache一键安装包

    自己写的apache一键安装包。在centos和ubuntu上测试过。可以自己修改版本。 已经集成了jk.直接配置就可以跟tomcat集群。 前提:服务器上必须安装:gcc

    Linux-CentOS7.3-系统从入门到精通Wrod版

    4.13 部署MariaDB集群 90 4.14 部署Mongodb服务 96 4.15 部署Apache服务 97 4.16 部署Nginx服务 99 4.17 部署Tomcat服务 108 4.18 部署LAMP网站服务 114 4.19 部署LNAMP网站服务 116 4.20 配置WEB动静分离 121 4.21 ...

    centos7.5分布式平台搭建.docx

    centos 7.5 kubernetes 1.13 docker 18.09.5 JDK 1.8_131 SSH 7.4 etcd 3.3.10(API version:2) flannel 0.10.0 TOMCAT 8 Mysql 5.6 Ambari 2.7 HDP 3.0 ElasticSearch 6.5.1 Kibana 6.5.1 Logstash 6.5.1 Neo4j 3.4 ...

    Linux安装手册

    包括Linux、Ubuntu、Fedora、 RedHat、红旗Linux、Linux教程、Linux认证、SUSE Linux、Android、Oracle、Hadoop、CentOS、 MySQL、Apache、Nginx、Tomcat、Python、Java、C语言、OpenStack、集群等技术。 Linux...

    基于SSM架构实现的大型分布式购物网站-B2C项目源码+项目说明.zip

    2、当并发增加后,就添加服务器,做tomcat集群。使用负载均衡服务器来决定存放到哪个服务器的image中。当图片传到tomcat1中到tomcat2中查找图片,我们可以将tomcat1和tomcat映射到另一台服务器上,然后做共享。或者...

    微网快站自助建站系统

    您还可以通过与Nginx、Apache等Web服务器集成后实现服务器集群与负载均衡,以支持大规模的并发访问。同时,本系统的软件架构设计考虑到了功能的可扩展性,并不局限于一个相对简单的新闻类型的信息发布网站,您还可以...

    微网快站自助建站系统1.0

    系统采用了跨平台的开发技术,兼容各类主流操作系统,如Windows、Redhat、CentOS 或者麒麟等操作系统中均可安装本系统。您还可以通过与Nginx、Apache等Web服务器集成后实现服务 器集群与负载均衡,以支持大规模的...

Global site tag (gtag.js) - Google Analytics