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

一:系统环境和软件版本

操作系统: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接口

你可能感兴趣的:(Ubuntu中ajp_proxy + Apache 2.x + Tomcat 7的集群配置)