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接口
操作系统: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中http_proxy + Apache 2.x + Tomcat 7的集群配置
- apache2.4 tomcat6 集群 AJP 配置方法
- apache2.4 tomcat 集群 AJP 配置方法
- apache 2.X+tomcat 6.X/7.X集群配置
- tomcat5.5+apache2.2负载均衡集群配置
- Apache + Tomcat集群配置详解 (2)
- 基于mod_proxy+Apache 2.2.16+Tomcat 7的负载均衡与集群配置
- Apache配置为Tomcat集群的负载均衡器
- Tomcat与Apache的整合及集群配置。
- Apache2.2.x + Tomcat 6.0.18 集群配置详解
- Apache + Tomcat + Linux 集群和均衡负载 (Session 同步复制) 配置实
- 最新Apache2.2.11 + Tomcat 6.0.20 集群配置详解
- Apache 2.X + Tomcat 5.X 配置实践 (转)
- Apache + Tomcat 集群负载均衡配置
- Apache 2.x + Tomcat 4.x + 负载平衡配置
- Apache + Tomcat集群配置详解
- APACHE、TOMCAT在64位LINUX下集群配置
- Apache+Tomcat集群和负载均衡安装配置笔记
- 基于mod_proxy+Apache 2.2.16+Tomcat 7的负载均衡与集群配置
- Apache+Tomcat集群和负载均衡安装配置笔记