APCHE+TOMCAT集成安装

APCHE+TOMCAT+SVN(集群)集成安装

再参照:Linux下Apache+Tomcat负载均衡(一机多实例)

http://wenku.baidu.com/view/c667d8beec3a87c24028c4a3.html 

1       软件安装
JDK安装JDK1.5.**

TOMCAT安装Tomcat6.0.18

svn1.4.6安装

apache2.2.11安装,采用默认端口80

apache2.0.63安装,采用默认端口80安装,然后进入httpd.conf找到listener80将80修改为其他端口如:81

 

这些软件都可以在官网上能够下载

 

注:这里安装两个apache,是避免配置繁琐的jk

Apache2.2.11与tomcat集成(apache2.2目前好像不能与svn集成)

Apache2.0.63与svn集成,但由于apache2.0.63没有采用80做为端口,如果又不希望访问时使用端口号,就需要再通过Apache2.2.11映射一次

 

2       Apache2.2.11与tomcat6.0.18集成
2.1     Apache配置
2.1.1  修改apache的配置文件conf/httpd.conf
A、将下列模块前面的注释去掉

LoadModuleproxy_modulemodules/mod_proxy.so
LoadModuleproxy_connect_modulemodules/mod_proxy_connect.so
LoadModuleproxy_ftp_modulemodules/mod_proxy_ftp.so
LoadModuleproxy_http_modulemodules/mod_proxy_http.so
LoadModuleproxy_ajp_modulemodules/mod_proxy_ajp.so
LoadModuleproxy_balancer_modulemodules/mod_proxy_balancer.so
这里就不需要另外另外安装mod_jk.so模块,apache2.2已经将该模块集成进来了(早该这样做了的),这里主要采用代理的模式,也是apache2.2才开始提供的功能,配置要简单很多哦
 

B、添加你希望的首页

DirectoryIndexindex.htmlindex.jspmyhomepage.jsp

        

         C、在文件末尾加上下面的集群配置

<proxy balancer: //cluster>
BalancerMember ajp://127.0.0.1:8009 loadfactor=1 route=jvm1
BalancerMember ajp://127.0.0.1:9009 loadfactor=1 route=jvm2
</proxy>

上面的两个BalancerMember成员是我们配置的tomcat集群
 

2.1.2  虚拟主机设置(httpd-vhosts.conf)         首先需要删除在httpd.conf文件里面引用httpd-vhosts.conf前面的注释:

Includeconf/extra/httpd-vhosts.conf
然后在文件末尾添加

<VirtualHost*:80>

ServerAdminrosi@126.com

ServerNamecluster.wanguba.com

ServerAliascluster.wanguba.com

ProxyPass/balancer://cluster/stickysession=jsessionid nofailover=On

ProxyPassReverse/balancer://cluster/

</VirtualHost>

配置cluster.wanguba.com指向集群地址,这个时候如果在tomcat下有多个应用,就需要通过这种方式访问:

http://cluster.wanguba.com/app1

http://cluster.wanguba.com/app2

但是,我们希望通过更酷的方式来配置,如

         http://app1.wanguba.com

         http://app2.wanguba.com

         就还需要做余下的工作:

<VirtualHost*:80>

ServerNamewww.wanguba.com

ProxyIOBufferSize8192

ProxyRequestsOff

ProxyViaFull

ProxyPass/http://cluster.wanguba.com/wanguba/smax=5max=20ttl=120retry=300

ProxyPassReverse/http://cluster.wanguba.com/wanguba/

</VirtualHost>

 

<VirtualHost*:80>

ServerNameforum.wanguba.com

ProxyIOBufferSize8192

ProxyRequestsOff

ProxyViaFull

ProxyPass/http://cluster.wanguba.com/JForum/smax=5max=20ttl=120retry=300

ProxyPassReverse/http://cluster.wanguba.com/JForum/注意:最后的/一定要的

</VirtualHost>

这样就配置了两个应用,访问路径分别为:

www.wanguba.com(这个是系统的主应用,当然采用最酷的域名)

         forum.wanguba.com

 

这个时候,apache配置基本搞定,下面就来看tomcat的配置

 

2.2     TOMCAT配置
2.2.1  配置server的关闭
我们需要在一台机器上跑2个不同的tomcat,需要修改不同的tomcat的关闭口,避免出现端口被占用的情况。其中一个用默认值,不修改。另外一个需要修改。在tomcat/conf下的server.xml中找到server,将:
<Serverport="8005"shutdown="SHUTDOWN">
改为
<Serverport="XXXX"shutdown="SHUTDOWN">

2.2.2  配置Engine
把原来的配置注释掉,把下面一句去掉注释。并标明jvmRoute="jvm1".jvmRoute对应apache配置文件配置的属性route

<Enginename="Standalone"defaultHost="localhost"jvmRoute="jvm1">

以下是原来的配置。
<!--<Enginename="Catalina"defaultHost="localhost">-->

注意:jvmRoute配置不要一样。
<Enginename="Standalone"defaultHost="localhost"jvmRoute="jvm2">

2.2.3  配置Connector原来的默认配置。
<!--DefineanAJP1.3Connectoronport8009-->
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443"/>
这里是apache和tomcat链接的关键,前台apache就是通过AJP协议与tomcat进行通信的,以完成负载均衡的作用。也可以用HTTP协议。大家注意它们是如何连接通信的,上面的红色部分(port="8009")就是连接的接口了。
把其他tomcat的<Connector port="XXX"/>port分别改成与上面
<proxy balancer://cluster>
#与tomcat6.0对应,route与<Engine jvmRoute="jvm1">对应。
BalancerMemberajp://127.0.0.1:8009 loadfactor=1 route=jvm1
#与tomcat6.01对应,route与<Engine jvmRoute="jvm2">对应。
BalancerMemberajp://127.0.0.1:9009 loadfactor=1 route=jvm2
</proxy>
中的端口对应,tomcat6.01的ajp端口port:9009 .一定要与上面的一致。同时也要把redirectPort的值改成唯一的,确保tomcat的都不一样。
2.2.4  配置Cluster(每个tomcat中都要修改)
原来的配置。
<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>
修改为以下的代码(其中Receiver port=”XX”的 port也要保证唯一性。):
<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"channelSendOptions="6">
<ManagerclassName="org.apache.catalina.ha.session.BackupManager"
expireSessionsOnShutdown="false"
notifyListenersOnReplication="true"
mapSendOptions="6"/>
<!--
<ManagerclassName="org.apache.catalina.ha.session.DeltaManager"
expireSessionsOnShutdown="false"
notifyListenersOnReplication="true"/>
-->
<ChannelclassName="org.apache.catalina.tribes.group.GroupChannel">
<MembershipclassName="org.apache.catalina.tribes.membership.McastService"
address="228.0.0.4"
port="45564"
frequency="500"
dropTime="3000"/>
<ReceiverclassName="org.apache.catalina.tribes.transport.nio.NioReceiver"
address="auto"
port="5001"
selectorTimeout="100"
maxThreads="6"/>
<SenderclassName="org.apache.catalina.tribes.transport.ReplicationTransmitter">
<TransportclassName="org.apache.catalina.tribes.transport.nio.PooledParallelSender"/>
</Sender>
<InterceptorclassName="org.apache.catalina.tribes.group.interceptors.TcpFailureDetector"/>
<InterceptorclassName="org.apache.catalina.tribes.group.interceptors.MessageDispatch15Interceptor"/>
<InterceptorclassName="org.apache.catalina.tribes.group.interceptors.ThroughputInterceptor"/>
</Channel>
<ValveclassName="org.apache.catalina.ha.tcp.ReplicationValve"
filter=".*/.gif;.*/.js;.*/.jpg;.*/.png;.*/.htm;.*/.html;.*/.css;.*/.txt;"/>
<DeployerclassName="org.apache.catalina.ha.deploy.FarmWarDeployer"
tempDir="/tmp/war-temp/"
deployDir="/tmp/war-deploy/"
watchDir="/tmp/war-listen/"
watchEnabled="false"/>
<ClusterListenerclassName="org.apache.catalina.ha.session.ClusterSessionListener"/>
</Cluster>

 

OK, TOMCAT的配置基本完成
 

2.3     测试配置1、启动tomcat与apache服务,访问http://cluster.wanguba.com出现tomcat的欢迎页面,配置成功,

2、访问 http://www.wanguba.com 出现wanguba的主页面,配置成功

3、访问http://forum.wanguba.com  出现forum的主页面,太高兴了

 

3       APACHE 与 SVN的集成
3.1     Apache2.0.63的安装
安装完成以后,启动服务,需要修改端口与apache2.2.11端口不一致

3.2     安装SVN1.4.6
安装过程中,SVN会自动寻找apache并且会在apache中添加相关的配置,不需要拷来拷去了,人生最幸福的事情莫过于此了

安装完成以后,

到svn的bin目录下执行:

Svnadmin create E:/yourSVN库

创建你自己的SVN库位置 ,权限设置这里就不描述了,但是记得要先安装apache再安装tomcat

 

哦,还需要在apache的httpd.conf文件最下面添加svn库位置,因为安装的时候并没有创建svn库,如果apache有这么智能就好了

<Location /svn>

         DAV svn

         SVNParentPath "E:/lixh-develop/svn/repo"

# AuthzSVNAccessFile svnaccessfile

#       AuthType Basic

#       AuthName "Subversion repositories"

#       AuthUserFile "C:/Program Files/Apache Group/userpass/pwd"

#       Require valid-user

</Location>

其中E:/lixh-develop/svn/repo为你的库位置,如果路径中有空格,记得加引号哦

3.2.1  测试
启动apache与svn服务,

Svn服务需要通过命令行启动

svnserve -d -r E:/lixh-develop/svn/repo

在浏览器中输入

http://127.0.0.1:81/svn,哇,界面出来了,晕没权限,但是还是出来了,没权限不要紧,配置正确最重要

3.2.2  与apache2.2.11集成
既然都能够访问了,这个就相当简单了,在apache2.2.11的httpd-vhost.conf的最下面添加配置:

<VirtualHost *:80>

ServerName svn.wanguba.com  

ProxyIOBufferSize 8192 

ProxyRequests Off  

ProxyVia Full  

ProxyPass / http://127.0.0.1:81/svn smax=5 max=20 ttl=120 retry=300

ProxyPassReverse / http://127.0.0.1:81/svn

</VirtualHost> 

映射到apache2.0.63,

访问:

http://svn.wanguba.com  SVN界面出来了,晕还是没权限,不过很庆幸没有权限,如果有权限有问题了,错误不重要,错误一致才最重要

 

 

4       OK,大功告成

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值