您的位置:首页 > 运维架构 > Tomcat

Ubuntu中ajp_proxy + Apache 2.x + Tomcat 7的集群配置

2014-06-07 23:23 369 查看
一:系统环境和软件版本

操作系统:Ubuntu 13.10 x64

Tomcat :apache-tomcat-7.0.52

JDK : 1.7.0_51

Apache :Apache/2.4.9



二:部署环境

Apache代理服务器

192.168.1.200 安装路径:/usr/local/apache



Tomcat1

192.168.1.200 安装路径:/opt/apache-tomcat-7.0.52

Tomcat2

192.168.1.201 安装路径:/opt/apache-tomcat-7.0.52

Tomcat2

192.168.1.202 安装路径:/opt/apache-tomcat-7.0.52



192.168.1.200

192.168.1.201

192.168.1.202

三个linux上,均需要在/etc/hosts文件中,增加如下内容:

192.168.1.200 tomcat

192.168.1.201 cluster1

192.168.1.202 cluster2



三:软件安装

Apache采用的是源码安装,安装之前需要先安装zlib、apr、apr-util,请先自行安装这些

我这里安装到/usr/local/apache



四:配置Apache

(1) ajp_proxy相关的模块有mod_proxy.so、mod_proxy_connect.so、mod_proxy_ajp.so等

(2) 添加或打开如下内容

LoadModule proxy_module modules/mod_proxy.so

LoadModule proxy_balancer_module modules/mod_proxy_balancer.so

LoadModule proxy_connect_module modules/mod_proxy_connect.so

LoadModule proxy_http_module modules/mod_proxy_ajp.so

LoadModule slotmem_shm_module modules/mod_slotmem_shm.so

LoadModule lbmethod_byrequests_modulemodules/mod_lbmethod_byrequests.so

(3) 创建 ajp_proxy 主配置文件 vim extra/httpd-proxy.conf 内容为:

ProxyPassMatch /*.gif$ !

ProxyPassMatch /*.jpg$ !

ProxyPassMatch /*.png$ !

ProxyPassMatch /*.css$ !

ProxyPassMatch /*.js$ !

ProxyPassMatch /*.htm$ !

ProxyPassMatch /*.html$ !



ProxyPass /cloudos/ balancer://cluster/

ProxyPassReverse /cloudos/ balancer://cluster/

ProxyPassReverseCookiePath /cloudos /

<Proxy balancer://cluster/>

BalancerMember ajp://192.168.1.200:8009/cloudos/ route=node1

BalancerMember ajp://192.168.1.201:8009/cloudos/ route=node2

BalancerMember ajp://192.168.1.202:8009/cloudos/ route=node3

</Proxy>



a:请注意,这里的端口要和:Tomcat中server.xml的

<Connector port="8009"protocol="AJP/1.3" redirectPort="8443" />

这里的端口保持一致

b:

(4) 修改Apache主配置文件,使其关联ajp_proxy主配置文件

a:vim httpd.conf

加入下面的配置

Include conf/extra/httpd-proxy.conf



b:把原来的DocumentRoot目录地址改为:DocumentRoot "/src"

c:增加如下内容:

<Directory"/src">

Options Indexes FollowSymLinks

AllowOverride None

Require all granted

</Directory>





(5)配置Tomcat

1:创建目录/src

2:把web项目放入/src目录,我这里的项目是:cloudos

3:把tomcat安装文件解压到/opt目录,配置/opt/apache-tomcat-7.0.52/conf/ server.xml文件:

a:打开<ClusterclassName="org.apache.catalina.ha.tcp.SimpleTcpCluster"/> 这里的注释

b:添加:<Context path="/cloudos"docBase="/src/cloudos" />

c:修改<Engine name="Catalina" defaultHost="localhost">

改为:<Enginename="Catalina" defaultHost="localhost" jvmRoute="node1">

c:把/src、以及配置好的Tomcat整个目录拷贝到其它2个服务器上

注意:把第二个tomcat中的server.xml的

<Engine name="Catalina" defaultHost="localhost">

改为:

<Engine name="Catalina" defaultHost="localhost"jvmRoute="node2">

第三个,修改为:

<Engine name="Catalina" defaultHost="localhost"jvmRoute="node3">





五:注意事项

1:web.xml文件中,必须要有 <distributable/>这一句

2:放入session的所有对象,必须实现java.io.Serializable接口
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: